【发布时间】:2014-03-11 00:03:17
【问题描述】:
所以我有一个电子表格,它应该自动获取每个用户的电子邮件并为他们的电子邮件分配自定义用户名。我使用这些数据在工作表上显示每行“最后由 --- 编辑”。这还允许我列出查看电子表格的所有用户并记录他们上次打开它的时间。
但是,Session.getActiveUser().getEmail() 会为我以外的任何人返回一个空白字符串。
我看到您可以使脚本在用户帐户下运行。但这仅适用于已部署的 Web 应用程序。我需要将它集成到电子表格中。关于我应该如何做到这一点的任何想法?
【问题讨论】:
-
你试过.getEffectiveUser().getEmail()吗?或者,您在发布脚本时使用了哪些设置?您是否将其设置为以您身份运行,或者以访问电子邮件的用户身份运行?查看这里的文档developers.google.com/apps-script/reference/base/session
-
getEffectiveUser() 只返回我自己的电子邮件,即使其他人正在打开工作表。
-
然后您的应用程序被发布为以您的身份运行,而不是以访问该应用程序的用户身份运行。如果您可以更改它并保留功能,请尝试这种方式。如果没有,您将必须添加一个界面来编辑作为 Ui 一部分收集其电子邮件的工作表。送孩子们上学后,我会在几个小时内考虑组装一些东西。
-
谢谢,但是 afaik,将脚本部署为网络应用程序不允许我使用本机 google 电子表格界面。如果我将其部署为 Web 应用程序,我只能将脚本设置为以用户身份运行。我完全在处理电子表格,因为我需要的所有数据都已经在那里了。谢谢,我会等你的模型。
-
您使用的是普通的 gmail 帐户还是域帐户?在第一种情况下,这是很长一段时间内的正常行为(几年前它还在工作,但已被有意删除)此处的文档:developers.google.com/apps-script/reference/base/session?hl=en
标签: email session google-apps-script google-sheets