我正在使用 WOPI 为 Web 进行 Office 集成,并尝试从发现中获取 WOPI 操作。
我知道可以从中获得发现的 dogfood/testing 端点。但是由于跨域问题,我无法直接在我的网络应用程序中获取它,因为它位于不同的域中。
我是否应该将发现存储在 API 中并将其提供给 Web 应用程序?
我正在使用 WOPI 为 Web 进行 Office 集成,并尝试从发现中获取 WOPI 操作。
我知道可以从中获得发现的 dogfood/testing 端点。但是由于跨域问题,我无法直接在我的网络应用程序中获取它,因为它位于不同的域中。
我是否应该将发现存储在 API 中并将其提供给 Web 应用程序?
为读者解答。
我正在与 Microsoft 高级项目经理核实,他确认 WOPI 发现是服务器-服务器的事情。我们需要在 API 端获取 WOPI 发现并将其保存在缓存中,直到证明密钥验证失败。
我猜你说的是这两个发现文件。似乎他们将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 域允许列表中?