Microsoft Graph 支持编辑打开的 PowerPoint 文件

Eri*_*ult 7 powerpoint office365 office-js microsoft-graph-api

我有一个场景,用户打开的 PowerPoint 演示文稿需要通过自定义解决方案进行修改。我正在考虑将 PowerPoint Web 插件与 Graph API 对 OneDrive/SharePoint 文件的支持结合使用。

但是,PowerPoint 在 JavaScript for Office API 中还没有专门用于替换正在编辑的演示文稿内容的功能。作为概念证明,我尝试使用 Graph 使用upload 命令覆盖 OneDrive 中的特定 PowerPoint 文件,但它会引发错误,因为该文件是在 PowerPoint for Windows 中打开的:

Status Code: 423 Microsoft.Graph.ServiceException: Code: resourceLocked 
Message: The resource you are attempting to access is locked 
Inner error:    AdditionalData:     
                date: 2020-10-05T21:06:53   
                request-id: 5e3c2604-382d-4139-a433-8b95ef4f619e    
                client-request-id: 5e3c2604-382d-4139-a433-8b95ef4f619e 
ClientRequestId: 5e3c2604-382d-4139-a433-8b95ef4f619e
Run Code Online (Sandbox Code Playgroud)

我注意到,如果我在 PowerPoint Online 中打开同一个文件,共享图标指示器就会触发,我可以在任一编辑器中进行更改,这些更改几乎会立即在另一个编辑器中更新。因此存在一个用于进行实时更改的协议。我猜这是通过WOPI ??。我可以使用另一种可以支持这种情况的图表方法吗?或者我是否必须构建一个完整的 WOPI 客户端和/或服务器解决方案才能做到这一点(如果可能的话,这看起来很疯狂)?