#c# #.net #google-api #google-docs #google-docs-api
#c# #.net #google-api #google-docs #google-docs-api
Вопрос:
Я пытаюсь получить ленту изменений для существующего документа в Google Docs (на самом деле мне просто нужно количество версий). Я использую приведенный ниже код и получаю GDataRequestException
. Внутреннее исключение равно 404, в то время как строка ответа равна (идентификатор документа усечен):
<errors xmlns='http://schemas.google.com/g/2005'>
<error>
<domain>GData</domain>
<code>ResourceNotFoundException</code>
<internalReason>Invalid document id: file:0BxwzFL2fD0</internalReason>
</error>
</errors>
И вот код:
var documentsService = new DocumentsService("myappname");
documentsService.SetAuthenticationToken(token);
var uri = string.Format("https://docs.google.com/feeds/default/private/full/{0}/revisions", Uri.EscapeDataString(resourceId));
var query = new DocumentsListQuery(uri);
var feed = documentsService.Query(query);
Ответ №1:
Похоже, что используемый вами идентификатор ресурса недействителен. Вместо того, чтобы создавать uri вручную, вам следует использовать свойство RevisionDocument экземпляра DocumentEntry, для которого вы хотите получить изменения:
var uri = entry.RevisionDocument;
Ответ №2:
var documentsRequest = new DocumentsRequest();
// ... do any authentication here..
var revisions = documentsRequest.Get<Google.Documents.Document>(entry.RevisionDocument).Entries;