Google 驱动器 API 无法查看共享文件夹中的文件

Google Drive API Cannot See Files in Shared Folder

我已经创建了一个服务帐户并将此帐户 (XXXX@XXXX.iam.gserviceaccount.com) 设置为共享云端硬盘中的管理员。

我可以通过 运行ning service.drives().list(pageSize=10).execute()

检索共享文件夹 ID

但是如果我运行:

folder_id = '0ACNaJE1nx6YwXXXXXXX' # Same folder ID as above
query = "'%s' in parents" % folder_id
response = service.files().list(q=query, spaces='drive', fields='files(id, name, parents)').execute()

它 returns {'files': []} 即使共享文件夹包含一些文件。我做错了什么?

我认为您的目标和现状如下。

  • 您想使用 python 的 googleapis 从共享云端硬盘中的特定文件夹检索文件列表。
  • 您的脚本中的 service 具有从共享驱动器中检索文件列表的权限。

这样的话,在DriveAPI中files.list的方法的查询参数中包含includeItemsFromAllDrives=TruesupportsAllDrives=Truecorpora="allDrives"怎么样?当你的脚本修改后,变成如下。

修改后的脚本:

folder_id = '0ACNaJE1nx6YwXXXXXXX' # Same folder ID as above
query = "'%s' in parents" % folder_id
response = service.files().list(q=query, pageSize=1000, includeItemsFromAllDrives=True, supportsAllDrives=True, corpora="allDrives", fields='files(id, name, parents)').execute()

注:

  • 在这个修改后的脚本中,假设您有从共享驱动器中检索文件元数据的权限。请注意这一点。

参考: