Google Script - 如何从完整的联系人姓名中获取电子邮件地址

时间:2018-04-16 13:52:18

标签: google-apps-script

有没有办法从用户全名获取电子邮件地址。我有一个超过100个名称的列表,我不想手动输入它。我想在google工作表上制作一个快速脚本来检索名单列表的电子邮件地址。

有什么想法吗?我找不到从名称中获取电子邮件地址的功能。

1 个答案:

答案 0 :(得分:2)

Nvm我找到了这些信息:

https://developers.google.com/apps-script/reference/contacts/contacts-app#getContactsByName(String)

我忽略了它

BTW,ContactApp课程非常慢,所以我建议你去取所有联系人(2500左右可能需要一分钟)。请参阅文档:https://issuetracker.google.com/issues/36754694

function contactsToCustomObj(lc){
   //Create custom obj
   var pl= {name:[],email:[]}, len = lc.length,i=0,h;
    while(i < len){
     h = lc[i].getEmails()[0];
     //Check if there is an email linked to this contact
     if(h)
       pl.email[i] = h.getAddress();
     else
       pl.email[i] = "*No email linked*";

     pl.name[i] = lc[0].getFullName();
     //Check if there is a name  
     //If not, in my case, all emails are first_name.last_name@hotmail.com
     if(!pl.name[i]){
       var t = pl.email[i].split("@")[0].split(".");
       pl.name[i] = t[0] + " " +t[1];
     }
     //RemoveSpecialCase is my custom regex class
     pl.name[i] = pl.name[i].trim().removeSpecialCase().toUpperCase();
     i++;
  }
  return pl;
}