使用 Office 365 打开文档文件 API AngularJS

Open a doc file with Office 365 API AngularJS

我有一个 AngularJS 单页 Web 应用程序。我有一台存储 .doc、.docx 等文档的服务器。我想做的是下载这些文档(我可以这样做)并以某种方式将它们交给 Office 365,然后打开它进行编辑(!)我的网络应用程序。比如,在 div 元素或类似的东西中。

有什么方法可以达到这个或类似的目的吗?基本上我的目标是能够使用 Office 365 环境在我的应用程序中编辑 Office 文档。

感谢您的帮助,在此先感谢您。

目前无法从 Office 365 嵌入文档以在网站中进行编辑。

唯一可能的方法是将其嵌入以供使用 Office Online 应用程序查看。

您可以使用 Graph API 和一些小技巧来使用嵌入式文件获取 iframe 的正确来源。

只是为了了解完整的故事。我已经对此进行了自己的研究。实际上,有更多选择可以做到这一点。

首先,如果您想在没有用户身份验证的情况下尽快打开它,那么您的文档需要一个可公开访问的 link。然后你可以放入 iframe 并打开文档 here.

确保文档 link 在 iframe 的 src 中进行了 URL 编码,并确保您的文档可通过默认的 http 端口访问, 80端口!我浪费了 2 天时间,因为我有一个托管在 8088 端口上的 link,它无法处理它。如果来自 Microsoft 的人阅读了它,那么在此,我想表达它是多么令人讨厌,而且我找不到任何关于此的文档。

第二个选项是通过 Microsoft Graph API 上传文档(我建议使用统一的 API)。在这种情况下,您还必须处理用户身份验证。或者,您必须等到 Microsoft 完成服务才能向服务 API 呼叫支持。因为到目前为止,它还不支持文件操作。

如果您选择此解决方案,请提供有关打开文档的一些信息。对于 src,如果您在 Office 365 中创建新文档,则可以找到基础,然后转到文件/共享/嵌入。然后,将有一个 iframe 供您嵌入文档。如果将 sourcedoc 参数更改为要打开的项目的 eTAG(但我想 id 也可以),那么它应该会打开文档。您可以对 word、excel 和 powerpoint 使用相同的 link,但不要忘记 Office 365 无法打开 pdf 文件或图像。您必须为此找到其他解决方案。 (就像 pdf 的对象(小心这一点,因为 edge 不支持对象的动态数据),以及图像的 img)。从这里,您可以在 UI 上的某处放置一个按钮,供用户在 Office 365 中打开文档,这样 he/she 就可以编辑它,然后在 he/she 完成后可以将它同步回您的服务器,也可以从 Office 365 中删除该文件。 我真的建议你在服务器端这样做,否则在较弱的设备上会很慢。

您可以找到 Microsoft(统一)Graph 的文档 API here