无法将文件上传到 Google 云端硬盘中的文件夹

Unable to upload file to folder in Google Drive

我正在尝试将本地文件上传到 Google Drive 中的指定文件夹,但我只成功地将它上传到 Drive,而不是我告诉它的文件夹。我已经使用共享文件夹和非共享文件夹进行了测试,我得到了相同的结果。没有错误,只是文件在 Drive 根目录中。


    creds = GetGoogleCredentials()
    service = build('drive', 'v3', credentials=creds)
    # Call the Drive v3 API
    FileSearch = service.files().list(q="name='{0}'".format(file), fields="nextPageToken, files(id, name)").execute()
    items = FileSearch.get('files', [])
    FolderID = 'IDHere'
    if not items:
        file_metadata = {'name': file, 
                         "parents": FolderID
                        }

        media = MediaFileUpload('folder/en/' + file,resumable=True)
        service.files().create(body=file_metadata,media_body=media,fields='id').execute()
    else:
        print('Files:')
        for item in items:
            print(u'{0} ({1})'.format(item['name'], item['id']))

根据我的发现,"parents": FolderID 条目应该是我需要的,但是 create 方法似乎忽略了它。

  • 您想使用 Drive API v3 将文件上传到 Google Drive 中的特定文件夹。
  • 您想使用带有 python 的 googleapis 来实现此目的。
  • 您已经使用脚本将文件上传到 Google 驱动器。

如果我的理解是正确的,这个修改怎么样?请修改file_metadata对象中的parents如下。

发件人:

"parents": FolderID

收件人:

"parents": [FolderID]
  • 在 Google 驱动器上,一个文件有多个父文件。所以在这种情况下,文件夹ID设置在一个数组中。

参考:

如果这不能直接解决您的问题,我深表歉意。