我正在考虑为 Microsoft Word 构建一个加载项,其中涉及创建当前文档的副本。
我找到了我能找到的地方通过 OneDrive API 复制项目 https://dev.onedrive.com/items/copy.htm。但是,这需要复制文档的 item-id。
我似乎无法找到如何通过 Office JavaScript API 获取当前 Word 文档的 item-id 。
我看过Office.context.document
对象,以及Office.context.document.getFileAsync()
and Office.context.document.getFilePropertiesAysnc()
功能。
如何获取当前 Word 文档的 OneDrive 项目 ID?
仅使用 Office.js 无法实现此目的,您还需要利用 Microsoft Graph 来查找实际 ID。
保存文件后,您可以使用以下命令获取 URIgetFilePropertiesdAsync https://dev.office.com/reference/add-ins/shared/document.getfilepropertiesasync。您需要从 URI 解析文档名称和路径。然后,您可以在云端硬盘上使用查询过滤器Children https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/item_list_children方法来隔离您正在查找的特定文件。
例如,如果您的 URI 为https://d.docs.live.net/<id>/Documents/somedoc.docx
您可以确定以下内容:
- 这是消费者 OneDrive(注意 live.net URI)
- 文档名称是
somedoc.docx
- 它存储在目录中
Documents
要查找此文档,您将执行以下图形命令:
https://graph.microsoft.com/v1.0/me/drive/root/children/Documents?$filter=name eq 'somedoc.docx'
所有这些都可以直接从您的加载项中执行。请记住,用户可以将文档保存到 OneDrive 和 OneDrive for Business。用户必须使用以下方法对图进行身份验证相同的凭证对于他们要节省的驱动力。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)