Apps 脚本需要用户授权才能访问内置 Google 服务或高级 Google 服务中的私密数据。
授予访问权限
Apps 脚本会根据对代码的扫描,自动确定授权范围(例如访问您的 Google 表格文件或 Gmail)。注释掉的代码仍可生成授权请求。如果某个脚本需要授权,则在脚本运行时,您会看到此处显示的其中一个授权对话框。
如果代码更改会添加新服务,您之前授权的脚本也会请求额外的授权。如果您以在脚本所有者的用户身份下运行的 Web 应用的身份访问脚本,脚本可能不会请求授权。
撤消访问权限
如需撤消脚本对您数据的访问权限,请按以下步骤操作:
- 访问您 Google 账号的权限页面。(如需日后访问此页面,请访问 Google.com,然后点击屏幕右上角的账号照片。接下来,依次点击我的账号、登录和安全部分下的关联的应用和网站,然后点击管理应用。
- 点击您要撤消授权的脚本的名称,然后点击右侧的移除,最后点击随即显示的对话框中的确定。
脚本的权限和类型
运行脚本的用户身份(以及脚本可以访问的数据)因运行脚本的场景而异,如下表所示。
脚本类型 | 脚本的运行身份... |
---|---|
独立、插件或 与文档、表格、幻灯片或表单绑定 | 用户使用键盘 |
电子表格中的自定义函数 | 匿名用户;不过,配额限制会计入使用键盘的用户 |
网站应用或 Google 协作平台小工具 | 键盘或脚本所有者的用户,具体取决于部署应用时所选的选项 |
可安装的触发器 | 创建触发器的用户 |
表格、文档、幻灯片和表单的手动授权范围
如果您要构建使用电子表格服务、文档服务、幻灯片服务或表单服务的插件或其他脚本,则可以强制授权对话框仅请求访问使用该插件或脚本的文件,而不是用户的所有电子表格、文档或表单。为此,请在文件级注释中添加以下 JsDoc 注释:
/**
* @OnlyCurrentDoc
*/
如果您的脚本包含声明 @OnlyCurrentDoc
的库,但主脚本实际上需要访问的不仅仅是当前文件,则可以使用相反的注解 @NotOnlyCurrentDoc
。
插件的授权生命周期
Google 表格、文档、幻灯片和表单的插件通常遵循与绑定到文档的脚本相同的授权模型。不过,在某些情况下,它们的 onOpen(e)
和 onEdit(e)
函数会在无授权模式下运行,这会带来一些额外的复杂性。如需了解详情,请参阅插件授权生命周期指南。
OAuth 应用用户数限制
使用 OAuth 访问 Google 用户数据的应用(包括 Apps 脚本项目)受授权限制的约束。如需了解详情,请参阅 OAuth 应用用户数限制。