如何通过API列出1000个以上的Google Drive共享盘?
解决Google Drive API获取超过1000个共享盘的问题
核心问题说明
Google Drive左侧导航栏最多显示1000个共享盘,但这只是前端界面的限制,API本身支持通过分页获取全部共享盘,你遇到的问题大概率是分页逻辑未正确实现。
正确的分页获取步骤
- 调用
drives.list接口时,设置pageSize为API允许的最大值1000,同时带上useDomainAdminAccess=true参数确保管理员权限生效。 - 每次请求后,检查返回结果里的
nextPageToken字段:如果存在该字段,就把它作为下一次请求的pageToken参数,继续拉取下一页数据。 - 重复上述操作,直到返回结果中没有
nextPageToken,此时已获取所有共享盘数据。
关键注意事项
- 不要混淆界面限制和API能力:官方文档提到的1000个限制仅针对左侧导航栏,API不存在总数上限。
- 确认账号权限:必须使用域管理员账号发起请求,且已正确配置Drive API的相关权限。
示例逻辑(伪代码)
all_shared_drives = [] page_token = None while True: response = drive_service.drives.list( pageSize=1000, pageToken=page_token, useDomainAdminAccess=True ).execute() all_shared_drives.extend(response.get('drives', [])) page_token = response.get('nextPageToken', None) if page_token is None: break # 此时all_shared_drives集合包含所有共享盘数据
内容的提问来源于stack exchange,提问作者Đinh Tiến Vũ
相关产品推荐
相关产品推荐

