1

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

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

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

4

2 回答 2

3

为读者解答。

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

于 2020-01-09T19:39:51.030 回答
0

我猜你说的是这两个发现文件。似乎他们将Access-Control-Allow-Origin标题设置为*,所以这不应该是问题。

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

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 域允许列表中

于 2020-01-09T08:42:30.643 回答