【发布时间】:2021-06-09 05:47:57
【问题描述】:
我正在尝试创建一个可以在我的 Google 表格电子表格中重复使用的 Google Apps 脚本 (GAS) 库。在these instructions 之后,这是我目前所做的:
-
在Google Cloud Platform创建了一个新项目
-
在第 1 步中为项目启用 Google Sheets API
-
在步骤 1 中为项目设置 OAuth 2.0 身份验证
- 凭据类型 = 用户数据
- Scopes = https://www.googleapis.com/auth/spreadsheets(我不能使用
spreadsheets.currentonly,因为此库中的一种方法需要完整的spreadsheets范围) - OAuth 客户端 ID = Web 应用程序
-
配置的 OAuth 同意屏幕
- 发布状态 = 测试
- 用户类型 = 外部
- 测试用户 = 我用来编写脚本的 Gmail 电子邮件
-
-
通过将 Google Cloud Platform (GCP) 项目与步骤 1 中的项目编号相关联,将其设置为标准
-
将
appsscript.json更新为如下所示:{ "timeZone": "America/Los_Angeles", "dependencies": { "enabledAdvancedServices": [ { "userSymbol": "Sheets", "version": "v4", "serviceId": "sheets" } ] }, "exceptionLogging": "STACKDRIVER", "runtimeVersion": "V8", "oauthScopes": [ "https://www.googleapis.com/auth/spreadsheets" ] } -
在these instructions 之后创建了我的脚本的版本化部署
-
将我的 GAS 项目共享为“互联网上任何知道此链接的人都可以查看”
-
这是我面临的问题:
-
使用我用于创建 GAS 库的同一 Google 帐户创建了一个新表格
-
在脚本编辑器中,我通过输入脚本 ID 添加了我的 GAS 库,然后选择了 HEAD 版本(这似乎无关紧要——所有版本都会导致相同的错误)
-
在
Code.js,写了一个测试函数,从我的GAS库中调用一个函数 -
点击运行按钮执行测试功能;出现如下提示:
-
点击“查看权限”并选择我用来创建 GAS 库的 Google 帐户
问题:显示此错误页面:
现在奇怪的部分是:如果我使用 不同 Google 帐户(即,与我用于创建 GAS 库的帐户不同)重复上述步骤 1-5,那么它可以工作!我得到了预期的 OAuth 同意屏幕,并且在授予权限后,我可以使用我的 GAS 库。
有没有人想出如何在与用于创建 GAS 库的 Google 帐户相同的 Google 帐户下的 Sheets 脚本中重复使用 GAS 库?
【问题讨论】:
-
如果它适用于一个帐户(您的 gmail?)但不适用于另一个帐户(您的工作?),这是因为您的域权限设置方式。是这样的吗?或者是一个域下的两个帐户。您还可以尝试与“每个人都可以查看”不同的安全设置。
-
@J.G.图书馆所在的 Google 帐户也是个人帐户(不是 GSuite/Workspace)。在 OAuth 同意屏幕设置页面上,我没有更改域设置。
标签: google-apps-script google-sheets-api