问题标签 [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.
asp.net-mvc - WOPI 主机:在线服务器上无法编辑 Word 文件。但查看工作正常
在我的项目中,我将 Online Office 服务器与 WOPI 集成在一起。但是 docx 文件不能在线编辑,而在线查看文件工作正常。
在我的本地系统中,所有功能都可以正常工作。但在服务器上出现上述错误。
如果您知道这些问题,请帮助我。
office-js - 在 Office Online 中使用 JS api 插入 OpenXML 后阻止文档更新的错误
2017 年 11 月,Tom Jebo 回答了为什么在 Office Online 中使用 Office JS api 将 OpenXML 插入到文档中时,在重新加载页面之前什么都没有出现:
以下是部分答案:
Officejs 中 InsertOoxml() 的当前设计是它只检测支持 Cobalt 的主机中的更改。这就是调用此 API 后渲染不会立即更改的原因。在自动保存功能(后续的 Putfile)使用 wopi 主机后,将呈现新数据,但如果发生来自 UI 的另一个编辑,这将抢占 InsertOoxml() 编辑,这将丢失。Officejs 团队已将此记录为错误,并将考虑是否将其作为设计更改包含在未来的更新中。
OfficeJS 团队的某个人是否可以同时提供解决方法,或者何时/是否修复此错误的状态更新?
在用户重新加载浏览器之前,不会发出任何 PutFile Wopi 请求,因此在用户重新加载页面之前,自动保存功能在任何时候都不会显示更新的文档。
java - 在 WOPI 中将内容验证为 JSON 时解析值时遇到意外字符
我目前正在用我的应用程序实现 WOPI。我们的域已被Microsoft列入白名单。在实施时,我目前面临两个问题,如下所述:
- 尝试将内容验证为 JSON 时引发异常:“解析值时遇到意外字符。” 我正在发送我的响应“Value=application/octet-stream”,但我不明白为什么服务器试图将流解析为 JSON。
- 在来自“iframe”的每个新请求之后,都会在 JAVA 中启动一个新会话。
以下是更多详细信息:
我当前的网址是https://onenote.officeapps-df.live.com/hosting/WopiTestFrame.aspx?ui=en-US&rs=en-US&dchat=1&hid=26D7CA2A10F60A68720106BF599F84B9&&WOPISrc=https://domain/wopiEditor/files/73346e47- 697b-11e6-a8bc-c26cd8f74b91/courses/independentConcepts/concept_adminGlo_5/assets/静态ip.docx&access_token=DEADBEEFDEADBEEFDEADBEEF&access_token_ttl=1532765580679的设置url
我的Java代码如下:
excel - 通过 WOPI 协议通过 Office Online 在浏览器中呈现 Excel 文件
我们计划与 Office Online 集成以在浏览器中呈现 Excel 文件。我通过阅读文档了解了整个工作流程,但我有几个问题:
- excel 文件呈现在移动设备(Android 和 iOS)上是否响应?我知道文件渲染在 excel 移动应用程序中查看时是响应式的,但问题主要是关于在我们的应用程序中渲染它,这是一个混合(基于 Cordova - Web 视图)应用程序。
- 当使用它在生产模式下呈现 excel 文件时,我们可以在本地安装 Office Online 服务器吗?
- 鉴于用户单击文件的应用程序已经具备了身份验证机制,我们是否需要实施身份验证?在这种情况下,一个相关的问题是我们是否需要生成访问令牌?
- 如果我们在微软云中部署 Office 在线服务器,它会是为我们的需要而部署的专用服务器吗?它会根据服务器负载进行扩展吗?
谢谢。
office365 - WOPI - 单击“在浏览器中编辑”按钮时,Excel 文档不会切换到编辑模式
我有一个 WOPI 服务,它返回CheckFileInfo
所有必需的数据,包括:
但是,当 WOPI 在查看模式下返回 Excel 时,单击“在浏览器中编辑”按钮不会将文档切换到编辑模式。
可能是什么原因?我们错过了什么吗?
java - 在客户端 PC 上与 MS Office 通信
我正在寻找在我的 Web 应用程序中与 Office 产品进行通信的解决方案。我有很多客户想要同时编辑他们的文档。我已经寻找解决方案,我有两个选择:
WOPI 协议需要一个 Office Web Apps 服务器,这对我来说不是一个可访问的选项,因为它需要一个昂贵且功能强大的服务器才能为这么多客户端提供服务。此外,我的 Web 应用程序是基于 Java 的,我的服务器在 Linux 上运行。
WebDAV 协议。这个选项似乎更好,但我听说 Chrome 和 Firefox 不支持它,因为 WebDAV 需要 ActiveX,因此每个客户端都必须在他们的 PC 上安装一个包。
谁能帮我做出正确的决定?什么是 MS-FSSHTTP 协议?它满足我的需求吗?
node.js - WOPI nodejs, express, react集成
谁能指导我如何为 MERN Stack 实施 WOPI?我正在努力实施它。
我在苦苦挣扎:
验证 WOPI PROOF
实现请求标头
ms-office - 办公云存储合作伙伴计划注册
我正在准备注册 Office 云存储合作伙伴计划
我收到此错误“错误:提交表单时出现问题。”
当我使用此页面上的表格时Office 云存储合作伙伴计划
表单已提交。但我没有收到收据或任何其他回复
完成注册的任何建议
office365 - 从 OneDrive 下载:如何知道在线编辑器是否已完成
我有一个工作流程,我将 Office 文件上传到 OneDrive,在 Office Online 编辑器中打开它,然后在关闭编辑器后再次下载文件。(这是一个教育场景,学生在平板电脑上工作,他们必须“交出”他们的文件。)
我的问题:我怎么知道在线编辑器已关闭,和/或 OneDrive 中的所有更新都可用?
我尝试过 Sharepoint API、MS Graph API、根文件夹增量、Webhooks:它们都告诉我有关文件更改和 TimeLastModified 的信息。
不幸的是,如果您在 Office Online 编辑器中的 OneDrive 中打开一个大型 Office 文档,进行更改,然后关闭编辑器,则可能需要一分钟时间才能更新 OneDrive。通常第一次更新在 6 秒内,但有时会发生第二次更新(似乎与在线编辑器中的 30 秒“自动保存”计时器有关)。
我有一种感觉,Sharepoint“知道”的比它说的要多。在线编辑器使用 WOPI,据说 WOPI 在打开和关闭编辑器时会调用 lock/unlock。但是如何访问此信息..
有没有人试过这个:在线编辑后下载你的文件?
在这篇文章中提到 Ryan Gregg 是因为他受邀在 OneDrive API 的 Ignite 会话中提问;-)
非常感谢您提供的任何帮助,
Casper
编辑
正如 dalibor 建议的那样,我确实尝试了 Graph 更改通知(我认为它们曾经被称为 webhook),并轮询 TimeLastModified。两者都有效,但我的主要问题是我看不到“文件已更改”通知是否是最后一个通知,或者“关闭我的在线编辑器”操作是否会导致更多保存。
同时,我在 Sharepoint 文件 ( https://msdn.microsoft.com/en-us/library/office/jj247073.aspx ) 上尝试了 LockedByUser 属性。这个属性有点难以阅读(在 MSGraph 中尚不可用,Sharepoint API 似乎需要直接用户/密码登录)。但它确实表明在线编辑器是否打开。但是,如果您关闭在线编辑器,LockedByUser 属性会立即被清除,但最终保存仍可在以后进行。或者根本没有最终保存,如果没有任何改变。因此,在线编辑停止后,我们仍然无法确定文件何时更新。
注意:自己实施 WOPI 确实有效,我们也尝试过。但正如下面所建议的,这需要不同的工作流程作为存储合作伙伴。