首页 > 解决方案 > 需要帮助以使用“Google 脚本”中的 ContactsApp 功能提取“电子邮件 ID”

问题描述

我编写了一个“谷歌脚本”来使用该函数提取“电子邮件地址”。ContactsApp.getContactsByName我下面提到的脚本正在运行,但没有在“Google Sheet”的 B 列中提供任何输出。

function test2() {
   var s = SpreadsheetApp.getActiveSheet();
   var cell = s.getRange('a1');
for (var x = 1; x <= 15; x++) { 
  var r = s.getRange(x,1);
  var b = r.getValue()
     if(b)
      var nextCell = r.offset(0, 1);
  nextCell.setValue(ContactsApp.getContactsByName[b]);
}
}

此后,我尝试在代码的最后一行进行这些更改,它会引发错误消息:-

改变 1)

  nextCell.setValue(ContactsApp.getContactsByName[b].getEmails());

更改 2)

nextCell.setValue(ContactsApp.getContactsByName[b].getAddresses());

改变 3)

nextCell.setValue(ContactsApp.getContactsByName[b].getEmails().getAddresses());

如何编写正确的脚本?

标签: google-apps-script

解决方案


如果联系人有任何关联的电子邮件地址,getEmails() 方法将返回一个数组。您需要在单个数组项上调用 getAddress() 以获取实际的电子邮件值。

这里的简单示例:

var contacts = ContactsApp.getContactsByName("name here");
var email = contacts[0].getEmails()[0].getAddress();
Logger.log(email);

推荐阅读