google-apps-script - 在没有完全权限的情况下获取用户电子邮件
问题描述
我需要获取访问 Web 应用程序的用户的电子邮件。该网络应用程序嵌入在谷歌网站中。我知道如何通过以下方式做到这一点:
var email = Session.getActiveUser().getEmail();
但是,这需要用户授予脚本权限,并且权限消息非常可怕:它允许代表用户发送电子邮件、修改他/她的任何 google 表格等等。
有没有办法避免仅仅为了获取用户电子邮件而获得如此广泛的权限?
更新:我的脚本也需要更新工作表,但不必由用户更新。但是,我需要用户自己运行应用程序来获取他们的电子邮件。
解决方案
问题中提到的权限
它允许代表用户发送电子邮件,修改他/她的任何谷歌表格,等等。
不相关
Session.getActiveUser().getEmail();
根据https://developers.google.com/apps-script/reference/base/session#getactiveuser上述方法只需要
https://www.googleapis.com/auth/userinfo.email
如果您想要一个不那么“可怕”的权限,您应该必须删除需要它们的方法或在清单和/或项目的 oAuth 同意页面中手动设置 oAuth 范围。
推荐阅读
- java - 在 Android Studio 3.1 中的当前主题中找不到样式“coordinatorLayoutStyle”
- python - Plotly 中的 Numpy 3D 数组切片查看器
- python - 如何计算 Python 3.6 中函数的调用次数?
- node.js - 如何在 nodejs 中从 goDaddy 安装 SSL 证书?
- php - 在同一文件夹中找不到可用文件
- three.js - three.js 是否计算面列表中未引用的顶点?
- javascript - 提取传单中标记的属性,onClick 事件
- javascript - 如何迁移cookie域并保留值
- python - 有没有办法只标记一个要运行的测试?
- laravel - Laravel Eloquent Pivot Tables 按对象集合上的数据透视列过滤