Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 无法在Google Group应用程序脚本中批量添加用户_Google Apps Script - Fatal编程技术网

Google apps script 无法在Google Group应用程序脚本中批量添加用户

Google apps script 无法在Google Group应用程序脚本中批量添加用户,google-apps-script,Google Apps Script,我正在尝试添加运行在脚本下面,但用户没有得到添加 function doAddGoogleGroupMember(){ var user = "i.s.e@example.com, a.s.e@example.com"; var groupEmail = "g-s@example.com"; var member = { email: user, role: "MEMBER" }; try { member = AdminDirectory.Mem

我正在尝试添加运行在脚本下面,但用户没有得到添加

function doAddGoogleGroupMember(){

  var user = "i.s.e@example.com, a.s.e@example.com";
  var groupEmail = "g-s@example.com";

  var member = {
    email: user,
    role: "MEMBER"
  };
  try {
    member = AdminDirectory.Members.insert(member, groupEmail);
    Logger.log('User %s added as a %s of group %s.', user, role, groupEmail);
  }
  catch(e) {
    if (e.message == "Member already exists.") {
      Logger.log('User %s is already in the group %s.', user, groupEmail);
    }
  }
}
但当我在下面的脚本中提到单用户时,用户被添加到组中

function doAddGoogleGroupMember(){
    var user = "i.s.e@example.com";
    var groupEmail = "g-s@example.com";
    var member = {
      email: user,
      role: "MEMBER"
      };
    try {
    member = AdminDirectory.Members.insert(member, groupEmail);
    Logger.log('User %s added as a %s of group %s.', user, role, groupEmail);
    }
    catch(e) {
    if (e.message == "Member already exists.") {
      Logger.log('User %s is already in the group %s.', user, groupEmail);
    }
    }
}
请指导我如何使用第一个脚本,因为我想知道如何通过Google group中的应用程序脚本添加多个用户

 var member = [{
      email: user1,
      role: "MEMBER"
      },
      {
      email: user2,
      role: "MEMBER"
      }
    ];
这应该能解决你的问题。 如果不是,你的出路可能是如下所示

function doAddGoogleGroupMember(user,groupEmail){
    var member = {
      email: user,
      role: "MEMBER"
      };
    try {
    member = AdminDirectory.Members.insert(member, groupEmail);
    Logger.log('User %s added as a %s of group %s.', user, role, groupEmail);
    }
    catch(e) {
    if (e.message == "Member already exists.") {
      Logger.log('User %s is already in the group %s.', user, groupEmail);
    }
    }
}

function startHere()
{
  var mappingArray = {'i.s.e@example.com':'g-s@example.com','a.s.e@example.com':'g-s@example.com'};
  for (var key in mappingArray ) {
    doAddGoogleGroupMember(key,mappingArray[key]);
  }
}

在这里,您应该调用
startHere
来运行整个函数。在
mappingArray
中以密钥/值对的形式提供您的用户电子邮件和组电子邮件。迭代一个循环并调用
doAddGoogleGroupMember
函数。

感谢您提供的信息@DarpanSanghavi实际上我在这里只提到了两封电子邮件。然而,将有一个大量的电子邮件地址将出现,我将通过谷歌表细胞提供路径。在单元格中,电子邮件地址将用逗号分隔。是否有任何解决方案可以将所有使用逗号分隔的电子邮件地址表单元格添加到组中,并且无需为每个电子邮件地址显式编写代码。上述代码也应适用于Google工作表数据。尝试解析Google工作表数据并从中创建
mappingArray
。其余的事情保持原样。为什么不记录所有错误,如果它不是您计划的错误(如现有成员),则再次抛出错误,以便您知道它的存在并处理它?