为什么在运行AdminDirectory.Members.remove(groupEmail,userEmail);时会得到缺少必填字段:memberKey?

时间:2019-01-05 17:57:44

标签: google-apps-script google-admin-sdk

我正在工作表中运行脚本(改编自https://developers.google.com/apps-script/advanced/admin-sdk-directory),以将电子邮件地址添加/删除到域组。 插入有效(因此,权限/凭据有效),但是删除将引发错误“缺少必填字段:memberKey”。这是代码段:

 var groupEmail = 'members@domain.org';
  var userEmail = 'someone@gmail.com';
  var memberKey = {
    email: userEmail,
    role: 'MEMBER'
  };
  try{
          member = AdminDirectory.Members.insert(memberKey, groupEmail);
  }
  catch (err){
          Logger.log(err.message)
  }
  try{
          AdminDirectory.Members.remove(groupEmail, memberKey);
  }
  catch (err){
          Logger.log(err.message)
  }

我也尝试过:

AdminDirectory.Members.remove(groupEmail,userEmail)而不是AdminDirectory.Members.remove(groupEmail,memberKey)

给出了另一个错误:“找不到资源:memberKey”

1 个答案:

答案 0 :(得分:0)

这是正确的方法(经过测试)

function removeGroupUser(userEmail, groupEmail){
  AdminDirectory.Members.remove(groupEmail.toLowerCase(), userEmail.toLowerCase());
  console.log('User %s removed from group %s.', userEmail, groupEmail);
}

请注意:您必须使用真实的电子邮件进行测试