我正在将我们的后端服务(使用 Java Spring Boot 构建)与 Microsoft Word 插件(使用 Angular 构建)集成。
当前设置:
我们的后端服务为 Word 文档创建
DriveItem
以编程方式使用 Microsoft Graph SDK for Java 并将其上传到用户的 OneDrive。
用户随后会被重定向到打开 Word 的 URL (
webUrl
)
新选项卡中的文档。
要求:
当在 Microsoft Word 的 Office 插件中单击按钮时,需要将文档的信息或 ID 传输到我们的后端服务。这将允许后端识别或重建相关的
DriveItem
。
想法和尝试:
1。查询参数方式:
后端服务在
中添加了类似
DocumentId
webUrl
。
Microsoft Word 中的加载项读取该查询参数并将其发送 返回后台。
问题:
Office.context.document.url
不返回与URL关联的查询字符串。
2。自定义属性方法:
后端服务将
DocumentId
添加到附加数据中
(FieldsValueSet
) 的ListItem
。
加载项从文档属性中读取
DocumentId
。
关注:我不确定这些自定义属性是否可以通过
Office.context.document.getFilePropertiesAysnc()
。
3. GraphServiceClient
shares()
方法途径:
要在服务器端使用Graph-SDK的
shares()
方法,我们需要传递文档的编码URL(webUrl
)。
关注:shares() 方法能否使用 Office JavaScript API 返回的 URL 解析相关的 DriveItem
Office.context.document.url
问题:
我是否错过了另一种有用的方法?我怎样才能实现这个目标?是否有任何其他方法或最佳实践将信息从 Office 加载项发送到后端服务以识别关联的
DriveItem
?
同时我用
shares()
的GraphServiceClient
方法解决了这个问题。此方法可以将文档 url 解析为 DriveItem
实例。