asp.net - 使用 Google Drive API 在 .NET 中获取文档的修订历史
问题描述
我正在尝试找到一种方法来获取谷歌文档的修订历史。
我有以下代码返回Revisions
:
var _driveService = GetDriveServiceInstance();
RevisionList revisions = _driveService.Revisions.List(fileId).Execute();
但是,我无法获得对文档所做的更改。例如,添加或删除的单词。
我找到了这个资源,他们在其中完成了相同的任务R
:
url <- modify_url(
url = "https://docs.google.com/feeds/download/documents/export/Export",
query = list(
id = fileId,
revision = revisionId,
exportFormat = "txt"
)
)
在此代码中,他们运行查询可以提供的位置revisionId
和位置。fileId
但是,我找不到将这些参数合并Revisions.List(fileId)
到我自己的代码中的方法ASP.NET
。
我想知道我该怎么做。有办法吗?我在 Internet 上找不到任何资源。
解决方案
您正在使用列表方法 [1],它将为您检索所有修订的列表及其每个修订的属性,这些在此处指定 [2]。如果要获取与修订 ID [3] 相关的特定修订,可以使用 get 方法。
如您所见,没有属性可以知道检查是否添加或删除了单词。但是 exportLinks 属性是一个 JSON,其中包含用于以不同文件类型(html、pdf 等)[4] 下载文件的各种链接(该修订版更改后的情况)。
在您发布的资源中,他们使用解决方法来获取链接,因为 URL 始终采用相同的格式,您只需更改 URL 上的参数(文件 ID、修订 ID 和文件类型):
https://docs.google.com/feeds/download/documents/export/Export?id=FileID&revision=RevisionID&exportFormat=FileType
您必须获取这些 URL 以获取代码中的文件,阅读它并查看进行了哪些更改。另外,请记住,如果文件不是对所有人公开的,您将需要具有正确权限的凭据才能下载文件(通过浏览器或代码)。
[2] https://developers.google.com/drive/api/v3/reference/revisions
推荐阅读
- testng - 如何从 TestNG 调试配置中检索 (x) = 参数?
- python - Tensorflow:Logits和标签必须具有相同的第一维
- laravel - 在 laravel 验证中避免使用小数
- go - 如何以非手动方式更改所有结构标签的前缀?
- php - 为什么我不能将 url 重定向与多个 GET 元素一起使用?
- python-3.x - 安装 VPython 时如何修复“VPython 构建轮子失败”错误
- python - 如何修复“urllib.error.HTTPError:HTTP 错误 404:未找到”
- spring-kafka - 如果没有消息,则不会调用带有 @KafkaListener 注释的方法
- c++-winrt - C++/winRT xaml ContentDialog 示例
- ios - 如何区分在 iOS 上是从分组通知启动还是从单个通知启动?