Google脚本:无法使用Session.getActiveUser()引用用户

时间:2013-05-19 02:46:21

标签: google-apps-script authentication

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

这根本没有用。 Google Script发出错误,称Session.getActiveUser()。getEmail()为NULL。

当我手动输入虚拟电子邮件而不是Session.getActiveUser()。getEmail()时,代码工作正常

HEEEEELP

PS:应用必须像我一样执行,因为它需要访问我的联系人。

1 个答案:

答案 0 :(得分:0)

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

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

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

  3. 脚本1:

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

    脚本2:

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