我是一个初学者,好...我试图获取单元格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>
答案 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
)。这将帮助您发现错误。