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

如何修改代码在Google Sheets中获取多条自定义搜索结果并填充多单元格

修改代码获取多条搜索结果并填充到Google Sheets

问题分析

你的原代码仅获取了第一条搜索结果,要实现多条结果的获取与批量填充,需要调整以下核心逻辑:

  • 新增参数控制返回结果的数量
  • 遍历API返回的所有匹配结果(不再局限于第一条)
  • 构建多行结果数组,让Google Sheets自动识别并填充到对应单元格中

修改后的代码

function getPerson(companyName, country, jobTitle, resultCount = 5) {
  // 替换为你的API密钥和自定义搜索引擎ID
  const key = "AIzaSyAITL9pQFhBNT2NuL4xxurnuxusWfB3YB0";
  const searchEngineId = "82e8012da8c2c4d0b";
  // 构造搜索查询字符串,用引号包裹职位避免歧义
  const searchQuery = `site:linkedin.com/in intitle:"${jobTitle}" ${country} ${companyName}`;
  
  const options = {
    method: 'get',
    contentType: 'application/json',
  };

  try {
    // 调用自定义搜索API,对查询字符串编码避免特殊字符报错
    const response = UrlFetchApp.fetch(
      `https://www.googleapis.com/customsearch/v1?key=${key}&q=${encodeURIComponent(searchQuery)}&cx=${searchEngineId}`,
      options
    );
    const data = JSON.parse(response.getContentText());
    
    // 处理无搜索结果的情况
    if (!data.items || data.items.length === 0) {
      return [["无匹配结果"]];
    }

    // 准备结果数组,最多返回指定数量的结果
    const results = [];
    const maxResults = Math.min(resultCount, data.items.length);
    
    for (let i = 0; i < maxResults; i++) {
      const item = data.items[i];
      const url = item.formattedUrl;
      // 截取标题并去除多余空格
      const title = item.title.split("-")[0].trim();
      // 每行存入[URL, 标题],对应Sheets的两列
      results.push([url, title]);
    }

    return results;
  } catch (error) {
    // 捕获请求错误并返回提示
    return [["请求出错:" + error.message]];
  }
}

关键改进说明

  • 可自定义结果数量:新增resultCount参数,默认返回5条,调用时可自行指定(比如=getPerson("公司名","国家","职位",10))
  • 避免请求报错:用encodeURIComponent编码搜索关键词,防止特殊字符导致API请求失败
  • 容错处理:添加try-catch捕获网络或API错误,同时处理无结果场景,避免单元格显示#ERROR!
  • 适配Sheets填充:返回多行二维数组,Google Sheets会自动将每一行填充到对应行的单元格中

使用方法

在Google Sheets单元格中输入公式示例:

=getPerson("Google","USA","Software Engineer",3)

输入后,公式所在单元格及下方、右侧的单元格会自动填充3条搜索结果的URL和标题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 14:12:26