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=True
、supportsAllDrives=True
、corpora="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()
注:
- 在这个修改后的脚本中,假设您有从共享驱动器中检索文件元数据的权限。请注意这一点。
参考:
我已经创建了一个服务帐户并将此帐户 (XXXX@XXXX.iam.gserviceaccount.com) 设置为共享云端硬盘中的管理员。
我可以通过 运行ning service.drives().list(pageSize=10).execute()
但是如果我运行:
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=True
、supportsAllDrives=True
、corpora="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()
注:
- 在这个修改后的脚本中,假设您有从共享驱动器中检索文件元数据的权限。请注意这一点。