Хотите получить One Drive ID для документа в дополнении Word - PullRequest
0 голосов
/ 04 декабря 2018

Я хочу получить постоянный идентификатор для документа Office 365 из надстройки Word (для хранения во внешней системе).URL-адрес, возвращаемый из Office.context.document.url, изменится, если документ будет переименован или перемещен.

Пока что единственное решение, которое я нашел, - это извлечь путь из URL-адреса, а затем использовать граф API дляполучить файл по пути.

Я беспокоюсь, что это хрупкое решение.В частности, он не знает, будет ли формат URL всегда одинаковым (например, все, что после «Документов» - это путь).

Может ли кто-нибудь либо успокоить меня, либо предложить лучшее решение?

https://MYDOMAIN-my.sharepoint.com/personal/MY_NAME_COM/Documents/afolder/auniquedoc.docx 

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

Я не могу говорить за OfficeJS, но есть более надежный способ использования Graph для получения уникального идентификатора вместо анализа самого URL-адреса.Используйте API «Share» .По существу:

  1. Начните с URL документа.
  2. Кодируйте его в url-safe base64
  3. Добавьте к этому u!
  4. Позвоните https://graph.microsoft.com/v1.0/shares/u!EncodedUrl/driveItem

Обратите внимание, что, хотя идентификатор файла остается прежним, если он переименовывается или перемещается внутри диска, идентификатор изменяется, если он перемещается на другой диск.

0 голосов
/ 05 декабря 2018

Мое предложение:

  1. Сохраните файл в своей собственной библиотеке документов, но не в OneDrive.
  2. Включите службы идентификации документов .
  3. Теперь идентификатор документа - это то, что вы хотите.
...