无法向 Google 应用脚本授予授权或许可

Posted

技术标签:

【中文标题】无法向 Google 应用脚本授予授权或许可【英文标题】:Google App Scripts cannot be given Authorization or Permission 【发布时间】:2018-08-25 07:46:49 【问题描述】:

为什么我无法向我也使用同一个 Google 帐户创建的 Google Apps 脚本授予权限/授权?

Google 似乎不相信自己将自己的 Google Apps 脚本与自己的电子表格一起使用。

这是破坏一切的代码行。如果这条线不存在,我不会被请求许可。

var sheet = SpreadsheetApp.getActiveSheet();

因此它正在尝试访问创建此 Google Apps 脚本的电子表格,该电子表格也是使用我的帐户创建的,但我无法授予权限。

当我运行上面的代码行时,我被告知我需要授予权限,所以我选择了我已经登录的帐户名。我受到这个错误的欢迎,

此应用未经验证

不幸的是,它没有提供有效的文档来进行故障排除。

任何反馈或帮助将不胜感激!谢谢!

【问题讨论】:

【参考方案1】:

点击“高级”链接,您将能够授权您的脚本。

【讨论】:

【参考方案2】:

为了减少您请求的权限范围,您还可以选择将您的脚本项目声明为只能与绑定的文档进行交互:

/* @OnlyCurrentDoc */
function myFunction() 
  ...

此声明与某些方法(如SpreadsheetApp.openById())不兼容,使用不兼容的方法会导致应用程序执行出错。

成功地将其添加到您的项目中通常足以移除身份验证流程的“此应用程序不安全”层,这意味着授权和权限列表不会隐藏在“高级”选项卡后面。

除了仅声明为当前文档之外,手动编辑项目清单中请求的项目范围可以帮助减少来自未经验证的应用程序的感知威胁(例如,仅保留某些范围的“只读”版本,其中适用的)。 Apps 脚本文档提供了有关 project manifests 的更多详细信息。

【讨论】:

以上是关于无法向 Google 应用脚本授予授权或许可的主要内容,如果未能解决你的问题,请参考以下文章

为什么我的Web应用程序要求访问未单独控制的服务

Google云端硬盘访问 - 服务帐户或OAuth - 读取/写入用户文件

授权命令行工具使用 Google API(通过 OAuth2.0 或其他任何方式)

无法通过Google Apps脚本显示授权对话框

使用 Apple 登录 - 无法验证授权授予代码

如何从 Google Apps 脚本授权 Google Speech-to-text?