python - Python Google Drive API 未列出文件夹中的所有文件
问题描述
我正在编写的程序的一部分要求我列出 Google Drive 文件夹中的文件和文件夹。我目前正在使用以下代码:
page_token = None
while True:
response = service.files().list(pageSize=1000,q="'folder_id' in parents",fields="nextPageToken, files(id, name)").execute()
for file in response.get('files', []):
print('Found file: %s (%s)' % (file.get('name'), file.get('id')))
page_token = response.get('nextPageToken', None)
if page_token is None:
break
出于某种原因,我正在测试的一个文件夹仅返回一个文件,即使我添加了其他文件/文件夹,并且我尝试的每个其他父文件夹_id 都不会返回任何文件。我什至尝试删除正在返回的一个文件,当我再次调用该函数时它仍然会返回。
解决方案
如果您使用的是代表服务的服务帐户,则:
为服务帐户启用域范围的委派。步骤和附加信息在这里。
启用域范围委派后,使用服务/webapp 与服务帐户的电子邮件地址服务帐户链接共享您要列出的所需文件夹,它类似于“XXX...XXX.iam.gserviceaccount.com”。
推荐阅读
- php - `<<<_HTML_` 在 php 中有什么作用?
- javascript - 如何从服务器连续发送数据到浏览器
- jquery - 带有 jquery 的下拉菜单
- java - Eclipse java 编辑器:如何隐藏制表符和换行符符号
- spring - 在创建弹簧批处理bean时获取“当前线程的范围'步骤'不活动”
- asp.net-core-mvc - 在 ASP.Net Core MVC 的控制器中使用 ApplicationDBContext
- spring - Spring Websocket(ActiveMQ):Stomp 订阅并获取从主题排队的消息
- javascript - 警告:函数作为 React 子级无效
- javascript - 如何获得通过 AJAX 加载的 JS 文件识别的全局函数?
- php - 在 Connection.php 第 664 行:找不到驱动程序