首页 > 解决方案 > 在没有完全权限的情况下获取用户电子邮件

问题描述

我需要获取访问 Web 应用程序的用户的电子邮件。该网络应用程序嵌入在谷歌网站中。我知道如何通过以下方式做到这一点:

var email = Session.getActiveUser().getEmail();

但是,这需要用户授予脚本权限,并且权限消息非常可怕:它允许代表用户发送电子邮件、修改他/她的任何 google 表格等等。

有没有办法避免仅仅为了获取用户电子邮件而获得如此广泛的权限?

更新:我的脚本也需要更新工作表,但不必由用户更新。但是,我需要用户自己运行应用程序来获取他们的电子邮件。

标签: google-apps-scriptgoogle-oauth

解决方案


问题中提到的权限

它允许代表用户发送电子邮件,修改他/她的任何谷歌表格,等等。

不相关

Session.getActiveUser().getEmail();

根据https://developers.google.com/apps-script/reference/base/session#getactiveuser上述方法只需要

https://www.googleapis.com/auth/userinfo.email

如果您想要一个不那么“可怕”的权限,您应该必须删除需要它们的方法或在清单和/或项目的 oAuth 同意页面中手动设置 oAuth 范围。


推荐阅读