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

Google Apps Script:People API仅获取少量联系人,如何获取全部?

解决People API仅获取部分联系人的问题

People API默认仅返回最多100条联系人,且默认只包含已正式添加的联系人条目,这就是你只能获取少量联系人的核心原因。要获取全部联系人,需要处理分页逻辑并添加特定参数:

关键调整点

  • 添加includeOtherContacts: true参数:获取所有类型的联系人(包括未正式添加的邮件关联联系人)
  • 设置pageSize为最大值200:减少分页请求次数
  • 循环处理pageToken:迭代获取所有分页结果,避免遗漏

修改后的完整代码

function getContactByEmail(targetEmail) {
  try {
    let allConnections = [];
    let pageToken = null;

    do {
      const response = People.People.Connections.list('people/me', {
        personFields: 'names,emailAddresses',
        includeOtherContacts: true, // 包含全量联系人类型
        pageSize: 200, // 单页最大返回数
        pageToken: pageToken
      });

      if (response.connections) {
        allConnections = [...allConnections, ...response.connections];
      }

      pageToken = response.nextPageToken;
    } while (pageToken);

    // 查找目标邮箱对应的联系人
    const contact = allConnections.find(connection => {
      const emailAddresses = connection.emailAddresses;
      return emailAddresses && emailAddresses.length > 0 && 
             emailAddresses.some(emailAddr => emailAddr.value === targetEmail);
    });

    console.log('所有联系人数量: %s', allConnections.length);
    console.log('匹配的联系人: %s', JSON.stringify(contact, null, 2));
  } catch (err) {
    console.log('获取联系人失败: %s', err.message);
  }
}

额外说明

  • includeOtherContacts参数会返回Google识别的所有关联联系人,包括你通过邮件往来但未手动添加的对象
  • 若仍有部分联系人未返回,检查是否有联系人被归档或标记为垃圾,这类联系人API无法获取

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 08:05:17