如何缩小谷歌应用程序脚本的身份验证/驱动范围?

Ole*_*nko 2 google-apps-script google-console-developer

我已经构建了一个谷歌应用程序脚本网络应用程序。对于 Google Drive 相关功能,应用程序需要auth/drive.install(与 Drive UI 集成)和auth/drive.file(在相关文件属性中存储与文件关联的一些数据)范围。其他的范围是auth/urlshortenerauth/userinfo.emailauth/userinfo.profile。据我了解,出于身份验证目的,需要后两者。

上述范围在应用程序中的 oauth dance 中指定。但是,在应用安装时,会向用户显示以下范围:

  • 查看和管理您的 Google Drive 中的文件(对应于auth/drive scope
  • 管理您的 goo.gl 短网址 ( auth/urlshortener)
  • 和其他三个与auth/script_*范围相对应的

这与脚本属性的范围相关。

5 OAuth Scopes required by the script:

https: //www.googleapis.com/auth/drive
https: //www.googleapis.com/auth/script.external_request 
https: //www.googleapis.com/auth/script.scriptapp 
https: //www.googleapis.com/auth/script.storage 
https: //www.googleapis.com/auth/urlshortener
Run Code Online (Sandbox Code Playgroud)

显然,auth/drive并且auth/urlshortner是由于使用高级 Google 服务而添加的,这些服务在 GAS IDE(资源 > 高级 Google 服务)和开发人员控制台中都已打开。

GAS IDE 不允许指定任何比 eg 更窄的范围auth/drive。出于某种原因,开发人员控制台中的 Google Apps Marketplace SDK 配置不允许添加任何特定范围。实际上,它允许添加但不保存任何内容。

问题:

最近,Google 为请求敏感 OAuth 范围的 OAuth 客户端引入了审查程序,auth/drive这绝对是其中之一。

我不需要整个auth/drive范围,也不希望用户看到这样的内容: 此应用程序未验证

有没有办法drive通过 GAS IDE 或开发者控制台缩小范围?

脚本本身不使用任何auth/script_*功能。自从我使用 node google apps 脚本模块进行开发以来,这些都是以某种方式隐式添加的。我不需要用户的许可。如何摆脱它?

任何解决方法?

And*_*rew 5

只是自己处理这个。

我发现以下来自 Google 的参考很有帮助 https://developers.google.com/apps-script/concepts/scopes(“设置显式范围”选项)和https://developers.google.com/apps-script/concepts/体现

摘要:您必须编辑 appsscript.json 清单文件。默认情况下,这在您的文件列表中不可见。单击菜单“查看”->“显示清单文件”以使其显示。

然后将“oauthScopes”部分添加到清单中,其中包含一个数组,该数组包含您在“范围”选项卡中的菜单“文件”->“项目属性”下找到的范围(当然使其成为正确的 json 数组)。减少多余的范围和/或换出不太宽松的范围(只读而不是完全访问等)。