我正在运行一个接收电子邮件地址的功能,然后检查此电子邮件是否已在组中注册,并且只有在未注册的情况下,才将其添加为新成员
通过运行以下功能来完成检查:
function CheckIfMemberExist(email)
{
var MemberExist = false;
var pageToken;
var page;
var groupEmail = 'MyGroupEmail';
var groupDomainName = 'MyGroupDomain';
do {
page = AdminDirectory.Members.list(groupEmail,{
domain: groupDomainName,
orderBy: 'Email',
maxResults: 100,
pageToken: pageToken
});
var members = page.members;
if (members)
{
for (var i = 0; i < members.length; i++)
{
var memberEmail = members[i].email;
if(memberEmail.toLowerCase() == email.toLowerCase())
MemberExist = true;
}
}
pageToken = page.nextPageToken;
} while (pageToken);
return MemberExist;
}
然后,仅当函数返回MemberExist = false时,我才调用:
AdminDirectory.Members.insert(NewMember,groupEmail);
问题是,有时即使运行[[AdminDirectory.Members.insert,CheckIfMemberExist返回false,我也会得到:对directory.members.insert的API调用失败,出现错误:成员已经存在并且脚本中断。我以某种方式怀疑Google识别出一种情况,即用户有另一封与我要注册的电子邮件相关联的电子邮件,但我不知道该如何获取有任何想法吗?谢谢