Google apps script 谷歌脚本:编辑更改时无法访问e.user
以下是我的算法:Google apps script 谷歌脚本:编辑更改时无法访问e.user,google-apps-script,Google Apps Script,以下是我的算法: 制作表格 在脚本编辑器中,使用以下功能创建脚本: function displayUser(e){ Logger.log(e.user); Logger.log(e.user.getEmail()); } 创建一个触发器,该触发器在编辑时从电子表格的事件后运行displayUser 编辑表单的电子表格 日志输出将显示: 未定义 处决笔录上说: 执行失败:TypeError:无法调用未定义的方法“getEmail”。(第3行,文件“代码”) 但是,google指定
- 制作表格
- 在脚本编辑器中,使用以下功能创建脚本:
function displayUser(e){ Logger.log(e.user); Logger.log(e.user.getEmail()); }
- 创建一个触发器,该触发器在编辑时从电子表格
的事件
后运行
displayUser
- 编辑表单的电子表格
e.user
:
始终返回表示电子表格所有者的用户对象
这里不是这样,因为e.user
是未定义的
我在谷歌新的访问权管理系统之前使用了这个命令,它工作得很好——它返回了关于电子表格所有者的信息
我犯了什么错误吗?你说得对,它不会返回ss的所有者。当重命名为onEdit()并用作简单触发器时,它确实返回工作表的有效用户,但我想这不是您需要的;-)-我个人以前从未使用过它,因此我无法确认它以前是否有效,但如果您确定您可以检查问题跟踪程序(我检查过,但没有发现任何提及),并最终创建一个新的问题跟踪程序。上面显示的脚本按预期工作。你还能提供什么其他信息来帮助我们呢?@user2661246-没错,它不会返回ss的所有者。当重命名为onEdit()并用作简单触发器时,它确实返回工作表的有效用户,但我想这不是您需要的;-)-我个人以前从未使用过它,所以我无法确认它以前是否有效,但如果你确定你可以检查问题跟踪程序(我确实检查过,但没有发现任何提及),并最终创建一个新的问题跟踪程序。@William:你所说的“按预期工作”是什么意思?事实上,新的身份验证系统改变了触发器的行为,在更改之前,为trigger onEdit定义的任何函数都会接收以下内容:用户、源、范围、值。现在只需将函数定义为onEdit接收以下内容:user、source、range、value,其余仅接收:source、range、value。它必须验证它不是bug。@Serge:我的测试是用以前的身份验证系统完成的,所以我工作正常。