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

Google AppScript传递API Header Token遇401认证错误求助

问题分析与解决方案

核心错误点

  • 变量顺序倒置:调用UrlFetchApp.fetch()时,请求配置对象还未定义,导致请求完全没携带认证头,直接触发401错误。
  • GET请求错误携带body:GET请求规范里通常不需要body,Postman正常调用时应该也没传body,这里多余的body会干扰API的认证逻辑。
  • Authorization头格式可能不规范:JWT Token必须遵循Bearer <token>的格式,若直接写Token内容不加Bearer 前缀,API会判定为无效认证。

修正后的代码

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  ui.createMenu('Custom Rupeek Menu')
      .addItem('Get Ref ID','displayrefid')
      .addToUi();
}

// 调用Rupeek API的函数
function callrpkAPI(rpk) {
  var url = 'api url'; // 替换为实际完整API地址
  // 先定义请求配置,再发起请求
  var requestOptions = {
    "method": "get",
    "headers": {
      // 严格遵循Bearer + 空格 + Token的格式
      "Authorization": "Bearer YOUR_ACTUAL_JWT_TOKEN",
      "Accept": "application/json"
    },
    "contentType": "application/json"
    // GET请求移除多余的body参数
  };
  
  var response = UrlFetchApp.fetch(url, requestOptions);
  var json = response.getContentText();
  return JSON.parse(json);
}

function displayrefid() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  
  var ref = sheet.getRange(4,2).getValue();
  
  var id = callrpkAPI(ref);
  
  var results = id["results"];
  
  // 处理结果为可写入表格的二维数组
  var output = [];
  if (results && Array.isArray(results)) {
    results.forEach(item => {
      // 根据API实际返回的字段结构调整
      output.push([item.refId]);
    });
  }
  
  // 清除历史结果并写入新数据
  sheet.getRange(15,1, sheet.getLastRow()-14, 1).clearContent();
  if (output.length > 0) {
    sheet.getRange(15,1, output.length, 1).setValues(output);
  }
}

额外检查项

  • 确认Token未过期:Postman正常调用可能是因为Token仍在有效期,AppScript中使用的Token可能已失效,重新生成有效Token测试。
  • 验证API URL完整性:确保url是完整的HTTPS地址(如https://api.rupeek.com/your-endpoint),避免相对路径导致请求地址错误。
  • 对齐Postman请求头:对比Postman的请求头列表,确保AppScript中的Accept等头与Postman完全一致,无多余或缺失字段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 06:17:32