从 Chrome 扩展访问 Google 电子表格:CORS 无 'Access-Control-Allow-Origin' header 错误

Access Google spreadsheet from Chrome Extension: CORS No 'Access-Control-Allow-Origin' header error

我有一个 Google 电子表格和一个 Google 脚本应用程序,它具有方法 doGet(e) 其中 returns 电子表格内容在 JSON。 Google 应用程序已发布,通过调用 URL 我收到完全有效的 JSON 我正在寻找。

现在,我想让我的 Chrome 分机调用 URL 并接收所有数据。

前段时间它一直在工作,但截至目前,它因错误而崩溃

Access to XMLHttpRequest at 'https://script.google.com/macros/s/XXX/exec' from origin 'https://www.YYY.com' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

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

编辑: 选项不走运。我的代码(试过application/x-www-form-urlencodedmultipart/form-datatext/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 的提示!

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

  1. TheMaster, i've switched request ContentType to 'application/x-www-form-urlencoded'. For more details, refer to 回答所述。
  2. Tanaike 所述,我已将发布设置切换为 执行应用程序:我 和 Who 有权访问应用程序:任何人,甚至匿名.