想要在Word插件中获取文档的一个驱动器ID

时间:2018-12-04 04:52:25

标签: microsoft-graph office-js office-addins office365-apps

我想从Word加载项中获取Office 365文档的永久ID(存储在外部系统中)。如果重命名或移动了文档,则从Office.context.document.url返回的url将会更改。

到目前为止,我发现的唯一解决方案是从URL中提取路径,然后使用图api通过路径获取文件。

我担心这是一个脆弱的解决方案。特别是,它不知道URL的格式是否总是相同(例如,“文档”之后的所有内容都是路径)。

任何人都可以向我保证或提供更好的解决方案吗?

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

2 个答案:

答案 0 :(得分:1)

我不能说OfficeJS,但是有一种更强大的方法可以使用Graph来获取唯一ID,而不是自己解析URL。使用'shares' API。本质上:

  1. 从文档URL开始。
  2. 将其编码为url-safe base64
  3. 使用u!
  4. 致电https://graph.microsoft.com/v1.0/shares/u!EncodedUrl/driveItem

请注意,尽管文件的ID在重命名或在驱动器中移动时不会更改,但在移动到另一个驱动器时ID会更改。

答案 1 :(得分:0)

我的建议:

  1. 将文件存储到您自己的文档库中,而不是OneDrive中。
  2. 启用document id services
  3. 现在您想要的是文档ID。