Google App脚本-无法插入组成员

时间:2019-06-25 03:42:46

标签: google-apps-script

我是一个初学者,好...我试图获取单元格memberEmail的多个值,然后插入到邮件组。 但是我遇到的错误是Invalid Input: memberKey

var groupMail = 'test@gmail.com';
var listUserMails = [];
var userMails = JSON.stringify(sheet.getRange(4, 9).getValue());

listUserMails = userMails.split("\\n");

for (var i = 0; i < listUserMails.length; i++) {
  var userEmail = listUserMails[i];
  var member = {
    email: userEmail,
    role: 'MEMBER'
  };
  member = AdminDirectory.Members.insert(member, groupMail);
}

更新: 当我记录数组listMemberMails的值时,似乎我收到的数组仅包含1个字符串。这不是预期的3个字符串。

["nguyen_tien_nghiep@gmail.com, nguyen_hai_ninh@gmail.com, vu_xuan_lam@gmail.com"]

<blockquote class="imgur-embed-pub" lang="en" data-id="a/hMd1ckO"><a href="//imgur.com/a/hMd1ckO"></a></blockquote><script async src="//s.imgur.com/min/embed.js" charset="utf-8"></script>

1 个答案:

答案 0 :(得分:1)

您的问题来自JSON.stringify函数。它将变量userMails赋值

"nguyen_tien_nghiep@gmail.com\n nguyen_hai_ninh@gmail.com\n vu_xuan_lam@gmail.com" 

其中双引号被视为字符串的一部分。这就是为什么,如果将userMails分成三部分,它将为您提供以下三个数组条目:

listUserMails[0]:   "nguyen_tien_nghiep@gmail.com

listUserMails[1]:   nguyen_hai_ninh@gmail.com

listUserMails[2]:   vu_xuan_lam@gmail.com"

您可以通过在循环中添加Logger.log(userEmail)来轻松确认后者。因此,您无法使用有效的电子邮件地址创建三个成员(因为只有第二个条目是有效的电子邮件地址。

话虽如此,请替换

var userMails = JSON.stringify(sheet.getRange(4, 9).getValue()); 

var userMails = sheet.getRange(4, 9).getValue();

然后将分隔符调整为“ \ n”而不是“ \ n”,您的代码应该可以正常工作。

建议,您可以通过插入日志来调试代码(例如listUserMails.length)。这将帮助您发现错误。