Python-将文件上传到Google Team Drive

时间:2018-09-04 16:44:16

标签: python google-drive-api

我正在尝试通过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的根目录即可。

任何建议将不胜感激。

1 个答案:

答案 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吗?