Получение истории изменений документа в .NET с помощью Google Drive API - PullRequest
0 голосов
/ 31 мая 2019

Я пытаюсь найти способ получить историю изменений для документа Google.

У меня есть следующий код, который возвращает 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.

Интересно, как я могу это сделать.Есть ли способ?Я не смог найти никаких ресурсов в интернете.

1 Ответ

1 голос
/ 05 июля 2019

Вы используете метод list [1], который будет извлекать вам список всех ревизий с их атрибутами для каждой ревизии, они указаны здесь [2].Вы можете использовать метод get, если хотите получить конкретную ревизию, связанную с ID ревизии [3].

Как видите, нет атрибута, который бы проверял, были ли слова добавлены или удалены.Но атрибут exportLinks - это JSON с различными ссылками для загрузки файла (как это было после изменений в этой ревизии) в файлах разных типов (html, pdf и т. Д.) [4].

В ресурсе, который выпосле публикации они используют обходной путь для получения ссылок, поскольку URL-адрес всегда имеет один и тот же формат, и вам нужно только изменить параметры URL-адреса (идентификатор файла, идентификатор редакции и тип файла):

 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

...