我一直在研究使用cookie创建会话并跟踪用户权限。所以,我为一个网络应用程序编写了一些基本代码,你可以点击一个按钮,然后访问活动用户的电子邮件。这是谷歌脚本(Code.gs(:
function doGet(){
return HtmlService.createHtmlOutputFromFile('Index');
}
function getUser(){
var email = Session.getActiveUser().getEmail();
return email;
}
这是HTML脚本(Index.HTML(:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<button onclick="recordUser()">Click me</button>
<script>
function recordUser(){
google.script.run.withSuccessHandler(function(email){
alert(email+ " is the user email.");
}).getUser();
}
</script>
</body>
</html>
这是HTML输出
"执行该操作需要授权"据我所知,这意味着每个网络应用程序的用户都必须以某种方式向允许电子邮件访问的谷歌脚本提供授权。所以,我试着让脚本具有电子邮件信息的范围。这真的不起作用——我也没想到。
这是我的项目属性>范围看起来像
那么,有没有任何方法可以通过请求授权或通过某种变通方法访问活动用户?非常感谢。
Session.getActiveUser().getEmail()
返回当前用户的电子邮件,但有几件事需要首先完成:
1.部署web应用程序时,在中执行应用程序,如下:选择访问web应用程序的用户。
2.在执行web应用程序之前,用户必须授权web应用程序代表他运行。
这应该有效,我已经测试过了。