如何在宿主页面获取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 发现并将其保存在缓存中,直到证明密钥验证失败。
我正在使用 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 发现并将其保存在缓存中,直到证明密钥验证失败。