You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署的Google Sheet转JSON App Script遇CORS错误,如何开启CORS?

解决Google App Script部署API在Kumu.io中的CORS错误

方案1:用JSONP绕过CORS限制

你的代码已经原生支持JSONP,只需在API请求URL末尾添加&callback=任意回调名称即可,示例URL:

https://script.google.com/macros/s/AKfycbymN0Wkfl-Lp4n0kD2L1DXmY4BbZhi8CvoB8nW2pguvelXhqAhRo4YQuYquS5Mv_FU/exec?id=12ygFGlEbqosGDj_4VSg6pzTjnHn58XuLAtmMpkdoUzM&sheet=Elements&header=1&startRow=2&callback=kumuCallback

JSONP通过动态加载脚本的方式避开浏览器CORS检查,Kumu.io通常支持该格式。

方案2:修改代码添加CORS响应头

由于ContentService无法自定义HTTP头,改用HtmlService返回数据并配置CORS规则,替换原doGet函数:

function doGet(request) {
  // 保留原有参数获取、数据解析逻辑
  var sheetKey  = request.parameters.id;
  var sheetName = request.parameters.sheet;
  var headerRow = request.parameters.header;
  var startRow  = request.parameters.startRow;
    
  var spreadsheet = SpreadsheetApp.openById(sheetKey);
  var keys = getHeaderRowKeys_(spreadsheet, sheetName, headerRow);
  var data = readData_(spreadsheet, sheetName, keys, startRow);
  
  data = data.filter(function(entry) {
    var matches = true;
    for (var k in keys) {
      var key = keys[k].replace(/\s+/g, '_');
      var searchTerm = request.parameters[key];
      if (searchTerm != undefined)
        matches = matches && ("" + entry[key] == searchTerm);
    }
    return matches;
  });
  
  var response = JSON.stringify({ elements: data });
  var headers = {
    "Access-Control-Allow-Origin": "*",
    "Access-Control-Allow-Methods": "GET, OPTIONS",
    "Access-Control-Allow-Headers": "Content-Type"
  };

  // 处理OPTIONS预检请求
  if (request.method === 'OPTIONS') {
    return HtmlService.createHtmlOutput('').setHeaders(headers);
  }

  // 返回JSON数据并设置CORS头
  var output = HtmlService.createHtmlOutput(response);
  output.addMetaTag('Content-Type', 'application/json');
  return output.setHeaders(headers);
}

修改后重新部署Web App即可。

方案3:检查Web App部署权限

重新部署时必须确认以下设置:

  • 执行权限:选择「Me (你的邮箱地址)」
  • 谁可以访问:选择「Anyone, even anonymous」
    若权限范围过窄(如仅限自己或内部组织),Kumu.io服务器无法正常访问API,也会触发类似CORS的错误提示。

内容的提问来源于stack exchange,提问作者Einarr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 10:20:20