Microsoft graph api 是';Word即服务';可以通过MS图形API吗?

Microsoft graph api 是';Word即服务';可以通过MS图形API吗?,microsoft-graph-api,onedrive,Microsoft Graph Api,Onedrive,我已经找到了一些,但不是全部的拼图 使用Graph API,当用户在我自己的web应用程序中选择文档时,我可以:- 在他们的OneDrive帐户中创建新的临时文件夹 将my.docx文件上载到此位置 获取my.docx的url 在新选项卡中打开URL,加载Office 365的MSWord编辑器(或在再次单击后加载查看器和编辑器) 这就是它变得有点棘手的地方。如何将编辑的内容返回到web应用程序历史上存储这些文档的位置 理论上,我可以:- 创建对我创建的新文件夹的订阅 实现webhook侦听器(

我已经找到了一些,但不是全部的拼图

使用Graph API,当用户在我自己的web应用程序中选择文档时,我可以:-

  • 在他们的OneDrive帐户中创建新的临时文件夹
  • 将my.docx文件上载到此位置
  • 获取my.docx的url
  • 在新选项卡中打开URL,加载Office 365的MSWord编辑器(或在再次单击后加载查看器和编辑器)
  • 这就是它变得有点棘手的地方。如何将编辑的内容返回到web应用程序历史上存储这些文档的位置

    理论上,我可以:-

  • 创建对我创建的新文件夹的订阅
  • 实现webhook侦听器(和验证)服务
  • 当侦听器收到文档的“更新”通知时:-

  • 调用下载(内容)API,或从driveItem元数据中,从@microsoft.graph.downloadUrl下载它
  • 将其保存到web应用程序中所需的位置
  • 对我来说,这听起来像是要遭受巨大的延误。webhook订阅通常会发送成批的更改,其频率看起来不确定。在编辑会话期间,对每个单独的保存操作进行版本控制肯定不是件好事

    我是否错过了更明显的Word即服务的途径?i、 e.另一种原料药或混合原料药

    我已经考虑过但尚未确定范围的备选方案:在我自己的web应用程序中实现WOPI或WebDav。

    今天,它是唯一一个通过Microsoft Graph中公开的REST API公开API的office“文档客户端”。
    我知道的唯一其他“公开可用选项”是:

    • ,这种行为类似于RESTAPI,但更为古老
    • (托管在客户机中)使用JavaScript API
    • (旧版,依赖DCOM,需要在计算机上安装office并获得许可)

    听起来您只是在使用OneDrive来利用其对应用程序的内置支持。WOPI基本上是一个增强的WebDav接口,Office使用它处理远程文档(即存储在OneDrive、Box、DropBox等上的文件)

    您的解决方案通常都很好,而且很容易协调。您完全可以使用Webhook订阅对文件的更改。您可能希望应用程序中有某种机制在“完成”时通知您的系统,以便您可以在之后清理文件

    如果你想要一个更健壮的解决方案,你需要看看WOPI。实现WOPI将允许您在系统中永久保留这些文件。Office Online将使用WOPI界面与您的存储系统通信,并在适当的位置打开/保存/编辑文件


    请记住,实现WOPI(或任何协议)通常是一项非常重要的工作。在使用最终解决方案之前,您还需要得到Office的验证和白名单。有关此过程以及如何请求访问的详细信息,请访问网站

    WebDav提供了与我们当前与Word desktop的集成最为匹配的解决方案,并与Office URI方案相结合,看起来非常轻量级且健壮。WOPI对于我的需求来说是非常重要的,并且很难在ms程序上进行验证,因为我们不想实现整个协议。也许Office Online Server作为一种绕过此程序并托管我自己的内部解决方案的方式值得一看?WOPI基本上是WebDav“v.next”。这是正确的方法。Office Online Server不是一个可行的长期选项。此外,它仍然需要类似WOPI的东西来与存储机制交互。