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

Google Apps Script提取custom_fields内display_value写入Google表格

解决方案

你不需要用split做字符串切割处理custom_fields内容——你看到的{type=x, resource_subtype=x, display_value=xxx...}格式,是JS对象被自动转为字符串写入表格时的显示效果,实际上JSON.parse解析接口返回后,data.custom_fields数组里的每一项都是标准结构化对象,直接读取对象的display_value属性即可,和字段在对象里的位置无关。

代码修改逻辑

把原来直接写入整个custom_fields数组项的部分,替换为读取对应项的display_value属性,同时加空值兜底,避免某一项不存在该属性时脚本运行报错。

修改后的完整代码如下:

function Users() {
  var options = {
   "headers" : {
     "Authorization": "API Key here"
   }
  }
  var response = UrlFetchApp.fetch("URL here", options);

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Tab Name here");

  var dataAll = JSON.parse(response.getContentText());
  var dataSet = dataAll.data;
  var rows = [];
  
  for (var i = 0; i < dataSet.length; i++) {
    var data = dataSet[i];
    // 自定义字段统一做取值兜底,不存在display_value时留空
    var cf = data.custom_fields || [];
    rows.push([
      data.gid,
      data.name, 
      data.permalink_url,
      data.due_on,
      cf[1]?.display_value || '',
      cf[2]?.display_value || '',
      cf[4]?.display_value || '',
      cf[5]?.display_value || '',
      cf[6]?.display_value || '',
      cf[7]?.display_value || '',
      cf[8]?.display_value || '',
      cf[9]?.display_value || '',
    ]);
  }

  // 写入前清空旧内容避免残留,可根据自身需求选择是否开启
  // sheet.getRange(2, 1, sheet.getLastRow()-1, 12).clearContent();
  var dataRange = sheet.getRange(2, 1, rows.length, 12);
  dataRange.setValues(rows);
}

注:如果你的Apps Script运行时版本较老不支持?.可选链语法,把对应自定义字段的取值替换为三元判断写法即可,例如cf[1] ? (cf[1].display_value || '') : '',运行效果完全一致。

优化建议

不建议硬编码custom_fields的数组索引取值,接口返回的自定义字段顺序可能发生调整,会导致取错字段。如果需要固定取某几个自定义字段的值,可以通过字段的gid或name匹配取值,示例逻辑:

// 传入单条数据的custom_fields数组和目标字段gid,返回对应的display_value
function getCustomFieldValue(customFields, targetGid) {
  var matchField = customFields.find(field => field.gid === targetGid);
  return matchField?.display_value || '';
}

调用时直接传入对应字段的gid即可,不受数组顺序变化影响。

JSON导入数据示例截图


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 15:57:28