如何获取Google电子表格附加组件的用户电子邮件?

时间:2014-12-19 19:05:42

标签: google-apps-script

我为Google电子表格创建了一个附加组件。

每次运行时,都必须检查用户的电子邮件地址

Session.getActiveUser().getEmail();

因此,我创建了一个onOpen触发器来获取电子邮件地址,但根据Google的documentation here.

,这似乎是不可能的。

然后,我如何使用用户类?

这就是获取电子邮件的功能:

function myFunction() {
  var userEmail=Session.getActiveUser().getEmail();
  Browser.msgBox("Your email address is "+userEmail);
}

我尝试了getEffectiveUser(),但它却改为开发人员的电子邮件地址。

我尝试与第二个用户共享电子表格,他允许显示电子邮件位,无论我做什么,我总是得到一个空字符串!

我需要此应用来检查用户的电子邮件是否在另一个电子表格的列表中。

1 个答案:

答案 0 :(得分:0)

基本上,它的意图是这几乎是不可能的,或者至少是难以置信的难度。如您链接的文档所示,您无法使用工作表中的自定义功能来提取其他用户的电子邮件地址,这是一件好事,因为在不知情的用户上使用此方法将电子邮件地址设置为很容易。

一个很好的经验法则是 - >如果他们未在与您自己相同的组织中使用Google Apps =您无法获取其电子邮件地址。 (片刻的想法告诉我们为什么这是一件好事。一旦你授权某人查看你的地址是什么,即使是出于合法目的,你也不知道他们之后做了什么,垃圾邮件发送者和诈骗者都希望能够使用Apps脚本来设置地址)。

此处唯一合理的解决方案是让脚本检查地址,如果返回空白字符串,请求用户手动将其地址输入到表格/表格/应用程序等文本框中。