【问题标题】:google app script check if email address exists谷歌应用脚​​本检查电子邮件地址是否存在
【发布时间】:2017-03-20 13:38:00
【问题描述】:

我有一个谷歌应用脚​​本,它从表单中收集新成员注册并将成员电子邮件地址添加到谷歌群组。

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

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

我正在使用以下代码:

函数 AddNewMember(LastEntryMail) { var 新成员 = { 电子邮件:LastEntryMail,
角色:“成员” }; var MemberExist = false; var pageToken,页面; var groupEmail = '我的组名@我的组域'; var groupDomainName = '我的组域';

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);
}

}

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

【问题讨论】:

  • 为了将来参考,有一个google-apps-script 标签,您可以用它来回答有关此主题的问题。这次我加了:)
  • 谢谢,但我正在寻找一种在调用 AdminDirectory.Members.insert 之前避免错误的方法...
  • 在这里发布了一个更明确的问题:stackoverflow.com/questions/42945872/…thanks

标签: javascript google-apps-script


【解决方案1】:

您可以使用 try 和 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
}

您可以在此处找到更多详细信息:https://www.w3schools.com/js/js_errors.asp

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-06
    • 1970-01-01
    • 2016-08-20
    • 2012-09-09
    • 2011-08-17
    • 2013-04-04
    • 2017-07-31
    • 2016-08-20
    相关资源
    最近更新 更多