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

如何在Google App Scripts中使用Airtable API的filterByFormula?

如何在Google Apps Script中使用Airtable的filterByFormula参数

嘿,很高兴看到你已经能成功从Airtable拉取记录了!关于filterByFormula参数的用法,我来给你拆解一下怎么在你的代码里实现灵活的记录筛选。

首先,filterByFormula允许你用Airtable的公式语法精准筛选记录,比单纯依赖视图更灵活——你可以直接在请求里定义筛选逻辑,不用提前在Airtable里创建视图。

具体实现步骤

  1. 编写筛选公式:用Airtable的公式语法定义你的筛选规则,比如:

    • 筛选「Status」字段等于「未录入」的记录:{Status} = "未录入"
    • 筛选「Amount」大于100且「Date」在2024年之后的记录:AND({Amount} > 100, {Date} > DATE(2024,1,1))

    注意:字段名必须用大括号{}包裹,字符串值要加双引号,数字和日期直接写即可。

  2. URL编码公式:因为公式里可能包含空格、引号等特殊字符,必须用encodeURIComponent()编码,避免请求出错。

  3. 拼接URL参数:把编码后的公式作为filterByFormula参数加到你的请求URL里,和其他参数用&连接。

修改后的完整代码示例

function mweWithFilter() {
  const API_KEY = SECRET;
  const BASE_URL = BASE;
  
  // 1. 定义你的筛选公式
  const filterFormula = '{Status} = "未录入"';
  // 2. 对公式进行URL编码
  const encodedFilter = encodeURIComponent(filterFormula);
  // 3. 拼接完整请求URL,加入filterByFormula参数
  const url = `https://api.airtable.com/v0/${BASE_URL}/TRNO?api_key=${API_KEY}&maxRecords=3&view=All%20not%20entered&filterByFormula=${encodedFilter}`;
  
  const response = UrlFetchApp.fetch(url);
  const result = JSON.parse(response.getContentText());
  const myResult = result["records"];
  
  Logger.log(myResult);
}

额外注意事项

  • 视图与filterByFormula的叠加效果:如果你同时指定了view和filterByFormula,Airtable会先应用视图的过滤规则,再用filterByFormula进一步筛选结果。
  • 公式测试技巧:可以先在Airtable里创建一个临时公式字段,测试你的筛选公式是否能得到预期结果,再把公式复制到代码里编码使用,这样能避免语法错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:54:47