我最近在Google App Script中使用e.user时遇到了问题。结果输出突然总是'?'并且不再是登录用户。没有任何代码被更改,它几个月都没有失败。我不知道这是否可能是与我的公司域名相关的问题,或者是否与谷歌应用程序平台的任何更改有关。
我的Google电子表格工作流程包含由OnEdit事件触发的脚本。我们的想法是,用户为进入的请求设置状态列,并使用该用户电子邮件地址填充单独的单元格,以表示谁更改了状态。
以下是我的代码中不再正常工作的部分。
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var activeCol = ss.getActiveCell().getColumn()
var activeCell = ss.getActiveCell().getValue()
if (activeCol = 7) {
var nextColumnCell = ss.getActiveCell().offset(0, 1);
var requesterCell = ss.getActiveCell().offset(0, -5).getValue().toString();
if (activeCell == 'Complete' || activeCell == 'In-Progress' || activeCell == 'Duplicate Request' ) {
Logger.log(e.user);
nextColumnCell.setValue(e.user);
nextColumnCell.offset(0, 1).setValue(new Date().toString());
}
}
}
答案 0 :(得分:1)
9月,平台可能会对您产生影响:
<强> September 3, 2013 强>
- ...
- 删除了在simple onEdit() triggers中获取用户电子邮件地址的功能。因为简单的触发器不请求用户身份验证, 这一变化对于保护合作者的身份非常重要 没有明确授予脚本收集他们的权限 电子邮件地址。