我有一个简单的函数,可以检索会话用户的电子邮件并将其返回。我想运行此函数并在单击html服务模板中的按钮时返回此值。不幸的是,它总是未定义的。下面简要介绍一下我要做的事情。
//code.gs
function getUser(){
var user = Session.getActiveUser().getEmail();
Logger.log('User was called')
return user;
}
//Page.html
<p>Your username: <?= user ?> </p> \\this works ok.
<button type="button" onclick="subMe()"id="submit" >Submit</button>
<script>
function subMe(){
var user = google.script.run.getUser(); //Logger works but no return value!
}
function setUser(activeUser){
alert(activeUser);
return activeUser;
}
google.script.run.withSuccessHandler(setUser).getUser(); //alert works OK, but no return value
所以最后我想调用这个函数并返回会话用户并将其存储在一个变量中,这样我以后就可以使用它了。任何提示赞赏!
此致
肖恩
答案 0 :(得分:2)
这是不可能的,因为对google.script.run的调用是异步的。有关解决方法,请参阅此问题:how to use google.script.run as if it was a function