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

如何用Google Apps Script提取JSON单个字段至Google Sheets列

提取API响应字段并批量写入Google Sheets整列

修改后的完整代码

function import_inventory_test() {
  var options = {
    "method": "GET",
    "headers": {
      'Content-Type': 'application/json',
      'Prefer': 'code=200,dynamic=true',
      "clientId": "1",
      "key": "1"
    }
  };

  // 发起API请求并解析响应JSON
  var response = UrlFetchApp.fetch("https://stoplight.io/mocks/flowhub/public-developer-portal/24055485/v0/inventory", options);
  var json = JSON.parse(response.getContentText());

  // 定位API返回的商品数据数组(根据实际响应结构调整,示例假设数据在data字段下)
  var inventoryItems = json.data;

  // 提取所有sku字段,整理为Google Sheets要求的二维数组格式
  var skuList = inventoryItems.map(item => [item.sku]);

  // 获取目标工作表(当前活跃表格)
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

  // 可选:清空A列原有数据
  sheet.getRange("A:A").clearContent();

  // 批量写入sku数据到A列,从A1单元格开始
  sheet.getRange(1, 1, skuList.length, 1).setValues(skuList);
}

核心操作说明

  • 请求头优化:合并原代码中重复的Prefer请求头,避免请求异常
  • SKU提取:使用map方法遍历商品数组,将每个sku值包裹为单元素数组——这是Google Sheets批量写入的要求,setValues方法仅接受二维数组
  • 表格写入:
    • 批量写入比逐行写入效率提升显著,尤其适合100条以上的数据量
    • 若需要指定固定表格,可替换getActiveSpreadsheet()为SpreadsheetApp.openById("你的表格ID")
    • 清空A列的步骤可选,根据是否需要覆盖旧数据决定

适配不同响应结构

如果API返回的商品数据直接是数组(而非嵌套在data字段下),只需修改这一行:

var inventoryItems = json;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 08:55:21