使用 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"
)
)

在此代码中,它们运行一个查询,其中可以提供revisionIdfileId。 但是,我找不到将这些参数合并到我自己的代码中的Revisions.List(fileId)中的方法ASP.NET.

我想知道我该怎么做。有办法吗?我在互联网上找不到任何资源。

您正在使用列表方法 [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 才能获取代码中的文件,阅读它并查看进行了哪些更改。此外,请记住,如果文件不是对所有人公开的,则需要具有适当权限的凭据才能下载文件(通过浏览器或代码)。

[1] https://developers.google.com/resources/api-libraries/documentation/drive/v3/csharp/latest/classGoogle_1_1Apis_1_1Drive_1_1v3_1_1RevisionsResource_1_1ListRequest.html

[2] https://developers.google.com/drive/api/v3/reference/revisions

[3] https://developers.google.com/resources/api-libraries/documentation/drive/v3/csharp/latest/classGoogle_1_1Apis_1_1Drive_1_1v3_1_1RevisionsResource_1_1GetRequest.html

[4] https://developers.google.com/resources/api-libraries/documentation/drive/v3/csharp/latest/classGoogle_1_1Apis_1_1Drive_1_1v3_1_1Data_1_1Revision.html

最新更新