0

我有一个像我一样执行的谷歌脚本。在脚本中,我想知道用户的电子邮件。因此,我将访问我的应用程序的用户的电子邮件称为 Session.getActiveUser().getEmail()

那根本行不通。谷歌脚本给出一个错误,说 Session.getActiveUser().getEmail() 是 NULL。

当我手动输入虚拟电子邮件而不是 Session.getActiveUser().getEmail() 时,代码运行良好

嘻嘻

PS:该应用程序必须以我的身份执行,因为它需要访问我的联系人。

4

1 回答 1

0

当应用程序以您的身份运行时,您不能Session.getActiveUser().getEmail()返回用户的电子邮件 ID。您可以尝试一些解决方法

  1. 明确询问用户的电子邮件 ID。

  2. 编写两个脚本 - 一个是前端 UI 等,在用户访问应用程序时运行(这允许 Session.getActiveUser().getEmail() 返回用户的电子邮件地址)。有第二个脚本来执行访问您的联系人的任务。在第二个脚本中使用 doPost 和 doGet 方法从第一个脚本调用第二个脚本。例如,

脚本 1:

function whatever(){
  UrlFetchApp.fetch('SERVICE_URL_OF_SCRIPT_2'); 
}

脚本 2:

function doGet(e){
  // code to access your contact, get parameters in e.parameters

}
于 2013-05-19T09:13:09.267 回答