我有一个像我一样执行的Google脚本。 在脚本中,我想知道用户的电子邮件。 所以我将访问我的应用程序的用户的电子邮件称为Session.getActiveUser()。getEmail()
这根本没有用。 Google Script发出错误,称Session.getActiveUser()。getEmail()为NULL。
当我手动输入虚拟电子邮件而不是Session.getActiveUser()。getEmail()时,代码工作正常
HEEEEELP
PS:应用必须像我一样执行,因为它需要访问我的联系人。
答案 0 :(得分:0)
当应用程序正在运行时,您无法Session.getActiveUser().getEmail()
返回用户的电子邮件ID。您可以尝试一些解决方法
明确询问用户的电子邮件ID。
编写两个脚本 - 一个是前端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
}