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

如何用Google Apps Script批量向A列单元格发送API请求

批量处理Google Sheets A列数据发送API请求

要实现遍历A列所有单元格发送API请求,你可以修改代码来批量读取A列数据并循环执行请求,同时加入基础的错误处理避免单个请求失败导致脚本中断。以下是修改后的完整代码:

function aramex() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("aramex");
  // 获取A列所有有数据的单元格范围(从A2开始,假设A1是表头)
  const dataRange = sheet.getRange("A2:A" + sheet.getLastRow());
  const values = dataRange.getValues();
  
  const baseUrl = "https://rahatystore.matjrah.store/api/rest_admin/orderhistory/";
  const payload = {
    "order_status_id": 20,
    "notify": 0
  };
  const headers = {
    "contentType": "application/json",
    "Authorization": "Bearer token" // 记得替换成你的有效token
  };
  const options = {
    "method": "put",
    "headers": headers,
    "payload": JSON.stringify(payload) // 注意:payload需要转成JSON字符串,原代码遗漏了这一步!
  };

  // 循环遍历每个A列单元格的值
  values.forEach((row, index) => {
    const cellValue = row[0];
    // 跳过空单元格,避免无效请求
    if (!cellValue) return;

    try {
      const fullUrl = baseUrl + cellValue;
      const response = UrlFetchApp.fetch(fullUrl, options);
      // 可选:记录请求成功的日志,方便排查
      console.log(`行${index + 2} 请求成功,响应状态:${response.getResponseCode()}`);
    } catch (error) {
      // 捕获错误并记录,避免脚本中断
      console.error(`行${index + 2} 请求失败:${error.message}`);
    }
  });
}

关键修改说明:

  • 批量读取数据:用getRange("A2:A" + sheet.getLastRow())获取A列从A2到最后一行的有效数据范围,再通过getValues()转成二维数组统一处理。
  • 循环遍历:用forEach逐个处理单元格值,跳过空单元格避免无效请求。
  • 修复payload格式:原代码直接传入对象作为payload,UrlFetchApp要求将JSON对象转为字符串,因此添加JSON.stringify(payload)。
  • 错误处理:加入try-catch块,单个请求失败时仅记录错误,不会终止整个批量任务。
  • 日志记录:添加控制台日志,方便你快速定位成功/失败的请求行。

注意事项:

  1. 确保Authorization中的token有效,否则所有请求都会失败。
  2. 若A列数据量极大,需注意Google Apps Script的UrlFetch调用限制(每日最多10000次),数据过多可分批次执行。
  3. 测试时建议先选取少量数据(比如前3行)运行,确认请求正常后再批量执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 01:12:48