问题标签 [ms-wopi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Wopi Office 365 在本地服务器上的实现
我有一个 Web 应用程序,用户可以在其中存储他们的 Office 365 文件。我们正在实施 WOPI 协议来在线查看和编辑办公文件,办公应用程序嵌入在 HTML 模板中,使用 PHP 和 WOPI。这可能与存储在本地服务器上的文件有关,还是需要来自 Microsoft 云?是否有一些使用 WOPI 和 PHP 实施 Office 365 的好资源。
excel - 在测试环境中插入加载项时 Excel Online 冻结
2017 年 11 月 12 日更新:看起来问题已解决。插入加载项时,Excel Online 不会冻结并正常工作。
2017 年 11 月 21 日,我无法在 Excel Online 测试环境中侧加载我的加载项。该应用程序是WOPI集成的。有什么改变吗?当我尝试从清单加载我的加载项时,Excel Online 和浏览器选项卡现在完全冻结。这使我们无法在本地测试对加载项的更改。
我不确定要提供什么信息。Excel Online 构建 ID 为:16.0.8821.2656。
更新:这实际上也发生在通过商店插入的加载项中,因此它不仅仅是旁加载我们的本地加载项。我可以去商店添加脚本实验室,Excel Online 将冻结。
ms-wopi - Wopi服务的Iframe嵌入式excel-online文档与父窗口之间的通信
我在 iframe 元素上有一个 excel 在线嵌入文档。该文件由 WOPI 主机提供给客户端。
我希望能够让 iframe 与父窗口进行通信,就像从 OneDrive 提供的在线文件可以使用 Excel Services JavaScript API(https://msdn.microsoft.com/en-us/ )与其父窗口进行通信一样图书馆/办公室/hh315812(v=office.14).aspx )。我希望能够读取元素,例如焦点所在的单元格等。
Wopi 协议建议使用具有限制的 HTML PostMessage,因为它不允许像 Excel Services JavaScript API 那样操作嵌入的文件。
有没有办法通过 WOPI 主机提供的 iframe 嵌入式 excel-oline 文件来实现这一点?
c# - Wopi Office Online 证明密钥流程
我正在尝试使用证明密钥验证请求是否来自 Office Online
我正在使用 nodejs 实现 wopi 主机,上面的链接中有代码示例使用 .NET 实现了证明密钥过程,因此我使用edge包能够使用 nodejs 运行 .NET 代码。
问题是代码运行良好,但它总是返回请求中的证明密钥无效,即使请求来自 wopi 客户端也是如此。
解释:有 3 个函数:
validateProofKey - 主函数 - 获取所有需要的参数来验证证明密钥,如果它们有效,则使用以下函数返回 bool:constructProofKey和TryProofkeyVerification
构造ProofKey - 声明 .NET 函数(来自示例代码的 constructProofKey),运行它并返回构造的证明
密钥 TryProofkeyVerification的结果- 声明 .NET 函数(来自 .NET 示例代码的 TryProofkeyVerification),运行它并返回布尔结果
编码 :
构造证明密钥
TryProofkeyVerification
注意 - 我已经将参数记录到控制台以确保参数在所有过程中正确传输
ms-office - 禁用同步文档编辑(实现 WOPI 服务器时)
我有一个WOPI服务器,或多或少根据http://wopi.readthedocs.io/实现(没有“cobalt”,即使用2016版的office online)
问题:两个用户可以同时打开同一个文档进行编辑。
我该如何防止这种情况发生?我检查了文档。有一个标志“supportsCoAuthoring”,但它不再存在,而且无论如何它被设置为假。我不希望支持共同创作。
我认为office online对此有内置支持,因此它不会允许2个人同时编辑同一个文档(即如果服务器“锁定”返回409,“冲突”)。但情况似乎并非如此 - 我的文件现在可以为两个用户打开以供编辑,即使存在锁定冲突!最后拯救的人获胜。我错过了什么..?
如果我们有 2 个用户,比如 A 和 B,那么当 B 打开文档进行编辑(已经被 A 打开)时,A 会弹出一个漂亮的弹出窗口“用户 B 也开始编辑此文档”。我不想要那个。相反,我希望 B 无法打开文档进行编辑。
是否应该单独实现锁(纯粹由服务器)?
该代码基于https://github.com/apulliam/WOPIFramework(虽然没有 sql 部分,因为我不需要/有任何 sql)
excel - 在 WOPI 客户端打开插件嵌入文档时自动在 Excel Online 中插入插件
我们一直在为 Excel Online/Desktop Excel 开发 JS 插件,我们仍然遇到的主要问题之一是,当我们在 Office Online 中打开插件时,我们似乎无法自动插入插件(用户必须完成通过功能区插入它的过程)。我们的应用程序使用 MS-WOPI 集成并充当 Office Online 的主机页面。
我们注意到,将此 Script Lab 插件嵌入到 excel 文档中 - https://github.com/OfficeDev/Office-OOXML-EmbedAddin - 实际上给了我们想要的行为 - 如果我们将文档上传到 OneDrive 并从那里。通过 OneDrive 在 Office Online 中打开文件似乎会自动插入并加载 Script Lab 插件。
但是,当我们尝试在我们的应用程序中上传相同的 Script Lab 嵌入文档(即通过 WOPI 提供它)时,当我们尝试在主机 iframe 中的 Office Online 中打开文件时,我们看不到相同的插件自动插入/加载.
当您在 Office Online 中打开它时,是否可以让 JS 插件自动插入到 WOPI 提供的文档中?或者这是 OneDrive 特有的功能?
ms-wopi - 如何生成 WOPI 锁 ID
我正在尝试实现 WOPI Endpoints,我不确定是否应该由我生成锁 ID 并将其发送到 checkFileInfo 响应的响应头中。
或者我皮客户端会生成锁Id并在Lock的响应中发送
office365 - 当会话在办公室在线超时时调用哪个休息端点?
我们已将 Office Online 与我们的应用程序集成,并在我们的应用程序中实现了必要的休息端点,这些端点在 Office Online 文档WOPI REST 文档中定义并且一切正常。
但问题是,当访问令牌从办公室在线超时时,它不会调用任何休息端点。
是否有任何休息端点提示我们的应用程序您的会话因当前文档而超时?
office365 - officeppe.com 和 office.live.com 之间的区别?
我必须将文档管理 Web 应用程序集成到 Office 365 以在线编辑文档,现在我遇到一个问题,如果是商业用户,wopi 客户端正在重定向到 officeppe.com 并且当我添加凭据时(例如 xyz@zyz.onmicrosoft.com)它给了我用户不在系统中。所以我做了什么,我用 office.live.com 替换了 officeppe.com,然后我提供了相同的凭据并且它起作用了。所以想知道为什么会这样吗?officeppe.com 和 office.live.com 有什么区别