正确设置 Google 表格插件的 OAuth 范围

Setting OAuth scopes for Google Sheets add-on correctly

我开发了一个 Google 表格插件(边栏),现在正试图将它放到 Google Workspace Marketplace。

我有点迷茫 OAuth 范围 需要设置为用户同意屏幕的一部分 and/or 应用程序配置屏幕(and/or其他地方?)。

我有几个问题:

1。我实际需要设置的范围是什么

这是插件的作用:

我找不到任何完整的范围列表,但我的理解是我至少需要:

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

2。应该在哪里配置范围

我发现至少有 3 个地方包含范围设置。

回答您的问题...

Apps 脚本最终会自动确定脚本需要的范围,并在脚本运行时添加它们 运行。

要检查哪些已添加,您应该转到 Apps 脚本项目中的 Overview,您将能够在 Project OAuth 下找到列表范围 部分:

因此,如果您已经运行并授权了与插件对应的脚本,那么所需的范围将在那里添加。

至于范围列表,你可以很容易地查看这个here

由于您正在开发编辑器附加组件,因此无需将范围也添加到清单文件中,除非您想设置明确的范围。例如,如果您想要更好地控制您的附加组件并使用比自动添加的范围更严格的范围,您应该在附加组件的 appsscript.json 清单文件中进行设置。

在 Apps 脚本端完成设置后,您可以开始使用 Marketplace SDK 配置加载项。

这样做将需要您提供您在 Apps 脚本项目中设置的 OAuth 范围的完整列表。您在此处输入的 OAuth 范围应与您在 OAuth 同意屏幕中显示的内容相匹配,如果适用,还应与 appssccript.json 清单文件中的范围相匹配。

根据您为附加组件选择的范围和附加组件的可见性,您可能会考虑查看 OAuth API verification FAQs documentation 作为

Some of the scopes used by the following APIs are considered sensitive; see the API’s documentation or look for the lock icon in the Cloud Console. If your app requests sensitive scopes, and doesn’t meet any of the criteria for an exception (see below), you will need to verify that your app follows the API Services User Data Policy.

因此,如果您的附加组件正在使用 任何 列出的 here 范围,您 必须 通过公开发布之前的验证过程。

参考