Python - 将文件上传到Google Team Drive

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python - 将文件上传到Google Team Drive相关的知识,希望对你有一定的参考价值。

我正在尝试通过Python API将文件上传到特定的Team Drive,但我正在努力指定teamDriveId的位置。我正在使用Drive v3。

这是我正在使用的功能:

def upload_file(self):
    # self.service: Google Drive Hook - works well for other functions
    # self.drive_id: Id of Team Drive I am trying to upload to

    metadata = {'name': 'sample.txt'}
    media = MediaFileUpload('sample.txt', mimetype = 'text/plain')
    upload = self.service.files().create(body=metadata, 
                                         supportsTeamDrives=True,
                                         media_body=media,
                                         fields='id).execute()

我试图把它放在create()函数和metadata JSON中作为{'parents': self.drive_id},但这要么返回一个Unexpected keyword argument: teamDriveId,要么文件只会上传到我的个人驱动器。

我正在尝试使用Team Drive中没有任何文件夹。我看起来可以设置{parents': <teamDrive_folderId>},但我希望找到一个解决方案,我不必指定文件夹,只需将文件放在Team Drive的根目录中即可。

任何建议将不胜感激。

答案

parents设置为Team Drive的ID适合我,并将文件插入Team Drive的根目录。最小的例子:

# media is a `MediaFileUpload` instance
service.files().create(
    supportsTeamDrives=True,
    media_body=media,
    body={
        'parents': ['0AILoX...'],  # ID of the Team Drive
        'name': 'foo.txt'
    }
).execute()

你确定你有合适的身份证吗?

以上是关于Python - 将文件上传到Google Team Drive的主要内容,如果未能解决你的问题,请参考以下文章

python 用于将文件夹上传到Google云端硬盘的Python脚本

使用Python和Flask上传到Google云端硬盘时,文件大小为零

通过 Python 客户端库将多个文件上传到 Google Cloud Storage

Python:如何快速上传到 Google BigQuery?

使用 python 连接并上传到 Google 表格

自动将数据上传到 Google Cloud Storage 和 BigQuery