微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从Chrome扩展程序访问Google电子表格:CORS没有“ Access-Control-Allow-Origin”标头错误

如何解决从Chrome扩展程序访问Google电子表格:CORS没有“ Access-Control-Allow-Origin”标头错误

我有一个Google电子表格和一个Google脚本应用,该应用具有方法 doGet(e),该方法以JSON返回电子表格内容。 Google应用已发布,通过调用URL,我收到了我正在寻找的完全有效的JSON。

现在,我希望我的Chrome扩展程序可以调用该URL并接收所有数据。

它已经工作了一段时间,但是到现在,它崩溃并出现错误

CORS政策禁止从来源“ https://www.YYY.com”访问“ https://script.google.com/macros/s/XXX/exec”处的XMLHttpRequest:对预检请求的响应无法通过访问控制检查:所请求的资源上没有“ Access-Control-Allow-Origin”标头。

我已经研究了一段时间,尝试了几种解决方案,但是似乎大多数解决方案都与后端有关,而我却无法访问它(仍然是Google脚本应用程序)。有什么解决方法吗?

编辑:不建议使用that选项。我的代码(尝试了 application / x-www-form-urlencoded multipart / form-data text / plain -得到了相同的结果) :

$.ajax({    
  url:'https://script.google.com/macros/s/XXX/exec',headers: { 
    'Content-Type': 'application/x-www-form-urlencoded','Access-Control-Allow-Origin': '*'
  },success:function (result) {
    *** 
  }

解决方法

非常感谢Tanaike

显然,问题出在发布设置中。基本上,我做了两个步骤来解决它:

  1. TheMaster所述,我已将请求ContentType切换为“ application / x-www-form-urlencoded”。有关更多详细信息,请参见this答案。
  2. Tanaike所述,我已将发布设置切换为以以下身份执行应用程序:我,W 他可以访问该应用程序:任何人,甚至是匿名。

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。