问题标签 [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.

0 投票
1 回答
1012 浏览

c# - WOPI Host实现,试图在iframe asp.net mvc中渲染doc

我正在尝试在 ASP.NET MVC 应用程序中获取 Wopi 主机实现。

使用这个项目 https://code.msdn.microsoft.com/office/Building-an-Office-Web-f98650d6

我的 API 控制器没有收到任何呼叫

在此处输入图像描述

发现网址

我的应用程序生成的 URL

http://word-edit.officeapps.live.com/we/wordeditorframe.aspx?WOPISrc=http%3a%2f%2flocalhost%3a32876%2fapi%2fwopi%2files%2ftest.docx&access_token=XskWxXK0Nro%3dhwYoiCFehrYAx85XQduYQHYQE9EEPC6EVgqaMiCp4%2bg%3d

我正在使用本地主机进行测试

控制器路由

它没有访问 API URL

0 投票
0 回答
255 浏览

sharepoint-online - Microsoft Teams:在自定义选项卡中为 Sharepoint 文档提供“在 Teams 中编辑”

我们正在将文档组织系统编写为 Microsoft Teams 中的自定义选项卡,我们正在尝试复制 Microsoft Teams 在文件选项卡上提供的“在 Teams 中编辑”选项,但似乎我们无法复制该功能。我们将文件存储在 Sharepoint 中并有一个编辑 URL,但由于 CORS 问题,我们无法 iframe 此链接,只能在新浏览器中打开此链接。有没有人对我们如何从自定义选项卡打开团队客户端中的 Office 文档有任何想法,而不是作为新窗口打开,这意味着用户必须不断地切换进出 Microsoft Teams。

通过查看 Microsoft 团队通过网络请求执行的操作,当您选择“在 Teams 中编辑”时,它会获取一个 wacUrlEdit 链接,该链接似乎是 iframeable,例如以 开头https://euc-word-edit.officeapps.live.com/we/wordeditorframe.aspx?ui=en,但是我们无法获取这个 wacUrlEdit链接,因为它使用来自https://api.spaces.skype.com的访问令牌生成,该令牌根据https://stackoverflow.com/users/4406395/bill-bliss-msft on How to get an Azure Active Directory access https://api.spaces.skype.com 的令牌不是公开可用的,它仅适用于团队客户。Fyi .. Teams 似乎也没有 IFrame 这个 wacUrlEdit,而是通过https://teams.microsoft.com/_#/docx/viewer/teams打开了一个新的 url(至少在网络浏览器中)

我已经阅读了有关 WOPI 主机实现的信息,但这似乎需要做很多工作来解决这个问题,并且考虑到这些文件存储在 Sharepoint Online 中,我并不完全确定这是正确的选择。

0 投票
1 回答
367 浏览

ms-wopi - 证明密钥验证总是失败

证明密钥验证器总是返回无效的证明密钥。

我指的是https://github.com/Microsoft/Office-Online-Test-Tools-and-Documentation/blob/master/samples/java/ProofKeyTester.java

}

如果请求是由 Office Online 生成的,它应该记录“证明密钥有效”。但即使在有效的情况下,它也会记录“证明密钥无效”。

0 投票
1 回答
536 浏览

php - PHP WOPI 主机和 WOPI 客户端通信

我对WOPI有点困惑。我想实现一个仅用于测试的基本示例。我做了一个基本的WOPI主机:

和基本的WOPI客户端:

我不明白$wopi_url我需要在客户端中设置哪个?

我只在主机中实现了:

  1. getFileAction: /files/:name ( https://wopi.readthedocs.io/projects/wopirest/en/latest/files/GetFile.html?highlight=getfile )
  2. getFileInfoAction: /files/:name/contents ( https://wopi.readthedocs.io/projects/wopirest/en/latest/files/CheckFileInfo.html#checkfileinfo )
0 投票
2 回答
799 浏览

office365 - WOPI 错误:抱歉,您无权编辑此文档

我想实现WOPI协议,以便使用Office 365在浏览器中打开和编辑 Office 文档:

当 Microsoft 发送CheckFileInfo请求时:

我发送这是响应:

编辑器显示此错误

在此处输入图像描述

我究竟做错了什么?

0 投票
1 回答
332 浏览

ms-wopi - WOPI 验证器应用程序不工作。它返回 404 Not Found

我正在尝试通过 Office 云存储计划合作伙伴计划在线与 WOPI 集成

要进行该集成,您必须使用 .wopitest 文件来使用验证应用程序 URL。它以前工作正常,但今天它给了我 404 Not Found

我的测试网址:https ://ffc-onenote.officeapps.live.com/hosting/WopiTestFrame.aspx?ui=en-US&rs=en-US&dchat=1&hid=951a6eb2-6cd8-4c6d-9258-95f2d420b241&sc=746e9e3b-8a2e- 4bc1-810c-01ce605911d1&wopisrc=https:// <-myRestAPIURL->/wopi/files/1051&IsLicensedUser=edit&testcategory=All

有没有人有同样的问题或者这是一个实施问题?

注意:对于 word 文档,它可以正常工作,但我需要对其他问题进行完整测试

0 投票
2 回答
516 浏览

javascript - 如何在主机页面中获取 wopi 发现

我正在使用 WOPI 为 Web 进行 Office 集成,并尝试从发现中获取 WOPI 操作。

我知道可以从中获得发现的 dogfood/testing 端点。但是由于跨域问题,我无法直接在我的网络应用程序中获取它,因为它位于不同的域中。

我是否应该将发现存储在 API 中并将其提供给 Web 应用程序?

0 投票
0 回答
54 浏览

c# - WOPI主机中的UnlockAndRelock方法

我一直致力于 WOPI 客户端的实现,在这种情况下我们必须使用 UnlockAndRelock 方法。

UnlockAndRelock 操作释放文件上的锁,然后立即在文件上获取新锁。

当我们需要在文件打开 - 签出 - 编辑文件 - 签入操作期间调用它?当文件已被我锁定以进行编辑时,我们是否需要释放锁定并重新锁定?

参考 : UnlockRelock

0 投票
1 回答
374 浏览

ms-wopi - WOPI Host 实现问题

我们正在尝试按照协议实现 Wopi 主机以与 OWA 集成,如此所述,我们在某些方面遇到了一些问题:

  • 我们实现了一个只能查看文件的简单主机,即它实现了 CheckFileInfo 和 GetFile 视图。在测试环境中,流程正在运行,我们能够在 OWA 中查看文件。关键是,在执行 Wopi Validator(web 和 docker 版本)时,我们在 GetFile 操作中遇到错误,因为验证器试图以两个 // 结尾来访问端点:

    host/wopi/files/file_id//contents

    这是仅在验证器中发生的已知问题吗?为什么将两个'/'附加到 WopiSrc 的末尾?我们如何解决这个问题?

  • 我们在这里阅读了一些帖子,指出需要进行编辑才能正式验证我们与 Microsoft 的 OWA 集成。这是真的?CheckFileInfo 和 GetFile 视图不是实现仅能够查看文件的简单 Wopi 主机所必需的吗?我们只是在 CheckFileInfo 操作的响应中传递所需的信息。我们没有使用 FileUrl 或任何其他参数,而是使用必需的参数。据我所见,这两个视图是使用 OWA 查看文件所需的唯一一个,如所述here

  • 此外,当浏览器向 OWA 发送请求并传递令牌和 WopiSrc 时,我们在流程的第一部分遇到了问题。我们只能使流程通过 GET 方法传递查询字符串中的令牌。如果我们将它放在带有 POST 方法的 JSON 下,OWA 会简单地忽略它,并且根本不会尝试通过 WopiSrc 调用 Wopi Host。有人可以在这件事上给我们一些启发,以弄清楚可能发生的事情吗?

  • 此外,我们还停留在令牌验证的某个点上。当他们说令牌由主机生成并且对于单个用户/文件组合应该是唯一的时,文档非常清楚。我们已经做到了。问题是,当请求来自 OWA 时,我们应该如何知道试图访问资源的用户是什么?例如,当 OWA 在 CheckFileInfo 和 GetFile 视图中调用主机时,它会将令牌传递给我们。但是我们怎么能知道用户信息呢?由于令牌用于单个文件(我们在被访问的端点的地址中拥有)和单个用户,所以我们如何在这一点上验证用户?在收到来自 OWA 的请求时,我们还没有找到任何可用于提取此信息的标头或占位符值,我们在这里有点迷失了。我们考虑过将用户信息附加到令牌,然后将其提取回来,但就我所见,这样做我只是确保令牌在请求之间没有被修改。有人有什么主意吗?

0 投票
1 回答
133 浏览

ms-wopi - 文件的 WOPI 实施 - 本地

我有一个本地托管的网站,它使用 Solr 搜索和索引来自各种系统(如 SMB、Box、Windows 文件共享等)的文档。我想为这些索引的文档启用预览。我可以为此使用 Microsoft Office Online Server 吗?我应该执行哪些其他步骤?