【问题标题】:Excel add-in authentication failing for on-premise clients本地客户端的 Excel 加载项身份验证失败
【发布时间】:2022-08-13 00:53:00
【问题描述】:

我有一个 Excel365 加载项,它允许将数据从在线应用程序导入和导出到 Excel。但是,我在尝试连接到本地服务器时遇到了问题。 当加载项将初始 GET 命令发送到 REST API 时,就会出现问题。我看到的错误信息是:

Error: Request has been terminated Possible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc. at q.crossDomainError

OK 

但是,如果我手动发送相同的 GET 命令,它工作正常。任何想法为什么我的 Excel 中的 GET 命令不起作用,但来自任何其他应用程序(VsCode、Postman 等)如果按预期工作? 提前致谢。

    标签: excel office-js office-addins excel-addins excel-web-addins


    【解决方案1】:

    问题的原因是 CORS。

    浏览器实施的同源策略防止从一个域加载的脚本从另一个域获取或操作网页的属性。这意味着,默认情况下,请求的 URL 的域必须与当前网页的域相同。例如,此策略将阻止一个域中的网页向其托管域以外的域发出XmlHttpRequest Web 服务调用。

    由于 Office 加载项托管在浏览器控件中,因此同源策略也适用于在其网页中运行的脚本。

    在许多情况下,同源策略可能是不必要的障碍,例如当 Web 应用程序跨多个子域托管内容和 API 时。有一些常用技术可以安全地克服同源策略执行。

    阅读更多相关信息并在Addressing same-origin policy limitations in Office Add-ins 文章中找到可能的解决方案。

    【讨论】:

      猜你喜欢
      • 2019-06-27
      • 2019-01-08
      • 2016-02-22
      • 2015-04-27
      • 2015-06-13
      • 1970-01-01
      • 2021-10-28
      • 2016-09-29
      • 2014-03-31
      相关资源
      最近更新 更多