【发布时间】: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