gpt4 book ai didi

google-apps-script - 谷歌脚本 Session.getActiveUser().getEmail() 不工作

转载 作者:行者123 更新时间:2023-12-04 13:50:24 29 4
gpt4 key购买 nike

我用谷歌脚本开发了一个网络应用程序,并在我的 gs 中编写了代码。

var email = Session.getActiveUser().getEmail();
Logger.log(email);
// then do something to render the Email address on the page

发布脚本后,我用另一个账户登录并执行脚本。

然后页面显示这个:

此应用是由其他用户而非 Google 创建的。

此应用程序可以访问以下个人信息:电子邮件地址。

但是Log里还是什么都没有,页面也没有任何显示。

我只是不明白...

最佳答案

虽然在 Session.GetActiveUser() 的引用文档中没有明确说明,但我的测试确认您的 Web 应用程序需要在用户访问 Web 应用程序时执行才能访问 getActiveUser()。我使用了下面的代码和 logging library described here.

根据您的应用程序的用例,也许您可​​以 create a library containing a centralized ScriptDB instance捕获事件用户电子邮件。然后,创建另一个使用您的私有(private)电子表格和相同 scriptDB 库的项目。

var LOG_FILENAME = 'your-log-doc'
var LOG_PATH = 'folder/subfolder/third-folder'


function doGet() {
//Change variable above to a good path and filename for you
var x = LogLibrary.InitializeLogging(LOG_PATH, LOG_FILENAME)
Logger.log(x)

var email = Session.getActiveUser().getEmail();
Logger.log("Start email logging")
Logger.log(email);
LogLibrary.fnSaveLog() //Write the save and flush the logger content

// then do something to render the Email address on the page
var HTMLToOutput = '<html><h1>A header</h1><p>' + email + '</p></html>';
return HtmlService.createHtmlOutput(HTMLToOutput);
}

关于google-apps-script - 谷歌脚本 Session.getActiveUser().getEmail() 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15651781/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com