Javascript 谷歌应用程序脚本检查电子邮件地址是否存在

Javascript 谷歌应用程序脚本检查电子邮件地址是否存在,javascript,google-apps-script,Javascript,Google Apps Script,我有一个google应用程序脚本,可以从表单中收集新成员注册信息,并将成员电子邮件地址添加到google组中 问题是,有时,即使地址是合法的,对于前“jhon”。doe@gmail.com“地址不存在。当我使用AdminDirectory.Members.insert(member,'GroupName@GroupDomain)它将返回错误“未找到资源”。我想提前避免 问题是如何使用脚本命令或库预先验证电子邮件地址是否为现有电子邮件地址 我正在使用以下代码: 函数AddNewMember(Las

我有一个google应用程序脚本,可以从表单中收集新成员注册信息,并将成员电子邮件地址添加到google组中

问题是,有时,即使地址是合法的,对于前“jhon”。doe@gmail.com“地址不存在。当我使用AdminDirectory.Members.insert(member,'GroupName@GroupDomain)它将返回错误“未找到资源”。我想提前避免

问题是如何使用脚本命令或库预先验证电子邮件地址是否为现有电子邮件地址

我正在使用以下代码:

函数AddNewMember(LastEntryMail) { var NewMember= { 电子邮件:LastEntryMail,
角色:“成员” }; var MemberExist=false; var pageToken,page; var-groupEmailmygroupname@mygroupdomain'; var groupDomainName='mygroupdomain'

do 
{
  page = AdminDirectory.Members.list(groupEmail,{
  domain: groupDomainName,
  orderBy: 'Email',
  maxResults: 200,
  pageToken: pageToken
  });
  var GroupMembers = page.members;
  for (var m in GroupMembers) 
  {
    var email = GroupMembers[m].email;
    if(email == LastEntryMail)     
    {
      MemberExist = true;
      break; //stop the for loop
    }
  }
  if(MemberExist == true)
  {
   break; //stop the do loop
  }
  else //new member email was not found in current page members list. go to next page
  {
   pageToken = page.nextPageToken;
  }
} while (pageToken);

if(MemberExist == false)
{
  AdminDirectory.Members.insert(NewMember, groupEmail);
}
}


我知道我可以捕获错误,但我想尝试避免错误,因为每个错误都会调用自动邮件等。

您可以使用try-and-catch块来检测错误并以编程方式处理错误。本质上,你是在检查电子邮件是否存在。如果发现错误,则表示电子邮件id不存在。您的代码将如下所示:

try{
AdminDirectory.Members.Insert(members,email) 
//Enter any other code that uses email in here
}

catch (err){
Logger.log(err.message)
// Run this code when the email address doesn't exist
//You can check for specific err.message=='specific error string' and handle them appropriately
// Else throw the error using throw(err) statement
}

您可以在此处找到更多详细信息:

为了将来参考,这里有一个
谷歌应用程序脚本
标签,您可以使用它来回答有关此主题的问题。这一次我添加了:)谢谢,但在调用AdminDirectory.Members.insert…之前,我正在寻找一种避免错误的方法。这里发布了一个更明确的问题:谢谢