如何通过Google Drive API V3获取修订版本名称与编辑次数
问题说明
使用Google Drive API V3获取文件命名版本信息、编辑次数时,虽然能正常拉取修订版本列表,但返回结果缺失name字段,也没有编辑次数相关字段。
当前使用的.NET测试代码如下:
string fileId = "*************";// 文件ID已隐藏 var rev = _service.Revisions.List(fileId); rev.Fields = "*"; var revs = rev.Execute();
相关参考示例为Google Drive网页端界面中展示的手动命名永久保留版本效果。
正确实现方案
1. 获取命名版本的name字段
Drive API V3中即使设置Fields = "*",修订版本的name字段也不会默认返回,必须在Fields参数中显式声明要拉取该字段,同时需要搭配keepForever字段判断是否为用户手动保留的命名版本。
修正后的字段配置代码:
rev.Fields = "revisions(id, name, keepForever, modifiedTime, lastModifyingUser, size), nextPageToken"; var revs = rev.Execute(); // 注意处理分页,单次请求最多返回100条修订记录,需要循环判断nextPageToken拉取全量数据
注意:只有用户手动设置为「永久保留」并自定义命名的版本才会返回非空的name值,系统自动生成的临时修订版本本身没有name字段,返回空属于正常情况。
2. 获取文件编辑次数
Drive API V3没有提供直接返回总编辑次数的字段,可根据文件类型选择对应方案:
- 对于Google原生格式文件(Docs、Sheets、Slides等):拉取全量修订版本列表后,统计列表总条目数,即为该文件的修订总次数。
- 对于普通二进制上传文件:仅当手动上传新版本时才会生成修订记录,统计全量修订条目数即为手动更新的版本次数。
- 如果需要统计精准的编辑操作次数(而非版本修订次数),需要搭配对应文档类型的专属API(如Google Docs API、Sheets API)拉取文档内的详细修订明细做统计。
提示:如果拉取的修订结果不全,记得检查是否处理了分页逻辑,默认接口返回的修订条目上限为100条。
内容的提问来源于stack exchange,提问作者Thamotharan
相关产品推荐
相关产品推荐

