我正在尝试通过Python API将文件上传到特定的Team Drive,但在指定teamDriveId的位置上很费劲。我正在使用Drive v3。
这是我正在使用的功能:
<script>
$(document).ready(function() {
$("#slide-out").sidenav();
$("#organizersSelector").formSelect();
$("#levelsSelector").not('disabled').formSelect();
});
</script>
我尝试将其作为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}
或文件将被上传到我的个人驱动器。
我要使用的Team Drive内没有任何文件夹。我似乎可以设置Unexpected keyword argument: teamDriveId
,但我希望找到一种无需指定文件夹的解决方案,只需将文件放在Team Drive的根目录即可。
任何建议将不胜感激。
答案 0 :(得分:6)
将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()
您确定获得正确的ID吗?