从Google Apps脚本中的电子表格传递JSON值
问题描述:
我尝试从Google电子表格中将值传递给JSON。但是我得到一个无效的json字符串错误。你能帮我解决我做错的地方吗?从Google Apps脚本中的电子表格传递JSON值
请在下面找到
代码的代码片段:
for(var i=0;i>=10;i++)
{
var userEmail = sheet.getRange(3, 2, sheet.getLastRow()).getValues();
var owner = {
email: userEmail[i],
role: 'OWNER'
};
owner = AdminDirectory.Members.insert(owner, groupEmail);
Logger.log('User %s added as a owner of group %s.', userEmail, groupEmail);
Browser.msgBox("Owner Successfully Added!");
}
答
var userEmail必须在for()循环之外,并且还必须选择对象userEmail [i]的第一个值。 在你的代码中,我还假设sheet var是在这段代码之前的某处定义的。
var userEmail = sheet.getRange(3, 2, sheet.getLastRow()).getValues();
for(var i in userEmail) {
var owner = {
email: userEmail[i][0],
role: 'OWNER'
};
owner = AdminDirectory.Members.insert(owner, groupEmail);
Logger.log('User %s added as a owner of group %s.', userEmail, groupEmail);
Browser.msgBox("Owner Successfully Added!");
}
答
试试这个
var userEmail = sheet.getRange(3, 2, sheet.getLastRow() - 2, 1).getValues();
for(var i=0;i < userEmail.length; i++)
{
var owner = {
email: userEmail[i][0],
role: 'OWNER'
};
owner = AdminDirectory.Members.insert(owner, groupEmail);
Logger.log('User %s added as a owner of group %s.', userEmail, groupEmail);
Browser.msgBox("Owner Successfully Added!");
}
的第三个参数getRange
是读的行数,并因为你在排发车3 - 省略前两行 - 有2行少读。 另外getValues
返回一个二维数组。