【问题标题】:How to resolve "This app is blocked" error for shared Google Apps Script library?如何解决共享 Google Apps 脚本库的“此应用被阻止”错误?
【发布时间】:2021-06-09 05:47:57
【问题描述】:

我正在尝试创建一个可以在我的 Google 表格电子表格中重复使用的 Google Apps 脚本 (GAS) 库。在these instructions 之后,这是我目前所做的:

  1. Google Cloud Platform创建了一个新项目

  2. 在第 1 步中为项目启用 Google Sheets API

  3. 在步骤 1 中为项目设置 OAuth 2.0 身份验证

    • 凭据类型 = 用户数据
    • Scopes = https://www.googleapis.com/auth/spreadsheets(我不能使用 spreadsheets.currentonly,因为此库中的一种方法需要完整的 spreadsheets 范围)
    • OAuth 客户端 ID = Web 应用程序
  4. 配置的 OAuth 同意屏幕

    • 发布状态 = 测试
    • 用户类型 = 外部
    • 测试用户 = 我用来编写脚本的 Gmail 电子邮件
  5. Apps Script editor:

    • 通过将 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 项目共享为“互联网上任何知道此链接的人都可以查看”

这是我面临的问题:

  1. 使用我用于创建 GAS 库的同一 Google 帐户创建了一个新表格

  2. 在脚本编辑器中,我通过输入脚本 ID 添加了我的 GAS 库,然后选择了 HEAD 版本(这似乎无关紧要——所有版本都会导致相同的错误)

  3. Code.js,写了一个测试函数,从我的GAS库中调用一个函数

  4. 点击运行按钮执行测试功能;出现如下提示:

  5. 点击“查看权限”并选择我用来创建 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


【解决方案1】:

如果您的帐户阻止了该应用,有一种简单的方法可以允许它。请记住,您需要成为域中的管理员才能运行这些更改。按照allowing apps 上的指南操作并完成其步骤。如果您需要更多帮助,请随时发表评论。

【讨论】:

  • Jacques-Guzel Heron,如果我的帐户是没有设置域的个人帐户怎么办?我不明白为什么我可以在其他个人帐户上使用图书馆——唯一不能使用的帐户是我用来创建图书馆的个人帐户。
  • 为了保护帐户,帐户由于其行为而被自动阻止。其他一些帐户可能没有被阻止。如果您的帐户被阻止,请按照我的回答恢复它。
  • Jacques-Guzel Heron,我尝试按照您提供的链接中的说明进行操作,但无法通过第 1 步:“使用管理员帐户登录,而不是您当前的帐户" -- 我没有管理员帐户,因为这是个人 gmail 帐户:i.imgur.com/BsNlmKq.png
  • 如果您使用的是非 Workspace 帐户,那么我强烈建议您访问 Issue Tracker 并为问题加注星标,以便开发人员给予更高的优先级。
  • 是的,有人正在调查它:issuetracker.google.com/issues/190879362
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-01
  • 1970-01-01
  • 2020-11-01
  • 1970-01-01
相关资源
最近更新 更多