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

为什么Google Apps Script中调用ContactsApp.getContacts ByEmailAdress返回[Contact]数组?

问题解答

首先修正你调用的方法名拼写问题:正确写法是ContactsApp.getContactsByEmailAddress('someemail@email.com'),原写法里的空格和拼写错误会导致调用异常。

这个方法返回的是Contact类型的数组,直接打印Contact对象默认只会输出[Contact]标识,你可以调用Contact实例的内置方法提取邮箱信息,具体用法如下:

示例代码

// 调用方法获取匹配的联系人数组
const matchedContacts = ContactsApp.getContactsByEmailAddress('someemail@email.com');

// 先判断是否有匹配结果,避免空数组报错
if (matchedContacts.length > 0) {
  // 取第一个匹配的联系人
  const targetContact = matchedContacts[0];
  // 获取该联系人绑定的所有邮箱地址,返回EmailField对象数组
  const emailList = targetContact.getEmails();
  // 遍历提取纯邮箱文本打印
  const pureEmailList = emailList.map(emailField => emailField.getAddress())
  console.log('该联系人关联的邮箱:', pureEmailList);

  // 如果需要精准匹配你查询时传入的邮箱,可直接筛选
  const queryEmail = 'someemail@email.com';
  const targetEmail = pureEmailList.find(item => item === queryEmail);
  if (targetEmail) {
    console.log('匹配到的目标邮箱:', targetEmail);
  }
} else {
  console.log('未找到对应邮箱的联系人');
}

补充说明

  • Contact.getEmails()返回的是EmailField对象数组,调用每个EmailField实例的getAddress()方法即可拿到纯邮箱字符串
  • 一个联系人可以绑定多个邮箱,所以返回的邮箱数组可能包含多个值,按需筛选即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 14:45:03