如何在宿主页面获取wopi发现

How to get wopi discovery in the host page

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

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

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

我猜你说的是这些 two discovery files。似乎他们将 Access-Control-Allow-Origin headers 设置为 *,所以这应该不是问题所在。

我很快尝试了这个,它似乎工作正常:

fetch('https://ffc-onenote.officeapps.live.com/hosting/discovery')
  .then(response => response.text())
  .then(str => (new window.DOMParser()).parseFromString(str, "text/xml"))
  .then(data => console.log(data))
  .catch(function(error) {
    console.log(error);
  });

您可以在此处运行:https://jsfiddle.net/rockyintel/ycrw293n/13/

也许还有一个问题,您的域是否已添加到 WOPI domain allow list

为读者解答。

我正在与 Microsoft 高级项目经理核实,他确认 WOPI 发现是服务器到服务器的事情。我们需要在 API 端获取 WOPI 发现并将其保存在缓存中,直到证明密钥验证失败。