You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Google Drive API v3无法获取谷歌文档全部修订元数据的问题

核心原因

你无法获取完整修订元数据是两个常见原因导致的:

  • Google Drive API v3 所有接口默认仅返回基础字段子集,你没有在调用时显式声明需要返回的字段,因此只能拿到默认返回的4个基础字段
  • 你使用服务账号认证时,权限配置不足也会导致部分敏感字段(如操作用户信息)无法返回

修复方法

1. 显式指定返回字段

调用revisions.list接口时添加fields参数,你可以先使用通配符*获取所有可用字段,调试确认能拿到需要的内容后,再缩窄字段范围优化请求性能。你也可以根据自己的需求,直接指定要返回的字段列表。

2. 修正后的代码示例

SCOPES = ['https://www.googleapis.com/auth/drive']
SERVICE_ACCOUNT_FILE = 'path to my .json file'
creds = service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes = SCOPES)
service = build('drive', 'v3', credentials=creds)

doc_id = "my doc id"

# 调整后的接口调用,增加fields和pageSize参数
document_revisions = service.revisions().list(
    fileId=doc_id,
    fields="*", # 如需指定特定字段可替换为 例如:revisions(id, modifiedTime, lastModifyingUser)
    pageSize=1000
).execute()

权限检查注意事项

如果调整参数后还是无法获取操作用户信息,请检查以下配置:

  • 确认服务账号的邮箱已经被添加到目标文档的共享列表中,拥有至少查看者权限,如需获取完整修订记录建议授予编辑权限
  • 如果目标文档归属Google Workspace企业域,需要域管理员在后台为服务账号开启全域委派权限,同时代码中需要模拟域内普通用户身份发起请求,否则服务账号无法获取域内普通用户的操作身份信息

内容的提问来源于stack exchange,提问作者Rob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 13:24:04