【发布时间】:2016-10-02 20:35:23
【问题描述】:
我使用工作帐户创建了一个 Google 表单,并将其设为“仅限 [domain.com] 用户”。现在我可以收集首先提交回复的人的电子邮件地址。然后我的问题来了:是否可以收集修改之前回复的其他人的电子邮件地址?
例如,像这样的情况,A 人填写了一张表格,他将编辑链接分享给他的队友 B 人,然后 B 人更新了之前表格上的回复。我想知道是否有任何解决方案可以检索 B 的电子邮件(无需在表单中询问他们的电子邮件地址)。
我尝试使用 getRespondentEmail(),但它不起作用。它总是返回人 A 的电子邮件地址。
【问题讨论】:
-
您是否尝试使用带有
Session.getActiveUser()的“提交表单”触发器? -
@SandyGood 是的。我还尝试使用带有
Session.getActiveUser().getEmail()和Session.getEffectiveUser().getEmail()的“提交表单”触发器。他们都将返回与我(此表单/脚本的所有者)相同的帐户。 -
听起来好像您是以您而非用户的身份运行脚本。是否已部署/发布?如果是,您是否将其设置为以您自己或用户身份运行?
-
@Karl_S 它没有部署/发布。当表单提交触发器触发时,脚本向函数传递一个事件对象。如果编辑响应的用户一无所获,我可以看到
e中的字段Username。 @_@ -
据我了解,除非提示运行脚本的人授权脚本,否则 'Session.getActiveUser().getEmail()' 和 'Session.getEffectiveUser().getEmail()'以创建触发器的人身份运行,而不是以运行脚本的人身份运行。用户无法在某些触发器上授权脚本,例如在编辑时,我相信在表单提交时。
标签: google-apps-script google-sheets google-forms