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