假设我有一个应用程序,我的应用程序已运行多年,要求用户访问。有问题的应用程序要求获得更多访问权限,或者应用程序已经更改,不再需要它请求的某些范围。
违规范围已被删除,因此不再提示新用户访问我们不需要的访问权限。
但是,我们现在有许多老用户,他们的刷新令牌授予我们不需要的访问权限。我想通过从授权中删除不再需要的范围来解决这个问题。最简单的解决方案可能是撤销他们的令牌并要求他们重新授权,但我认为这对客户来说是不可接受的。
范围示例:
https://www.googleapis.com/auth/analytics查看和管理您的Google Analytics数据
该应用程序要求完全访问权限。该应用程序不需要完全访问
https://www.googleapis.com/auth/analytics.readonly查看您的Google Analytics数据
是否可以从授权中删除scopes?我知道可以request additional permissions,但我还没有找到一种方法来删除过多的权限。
答案 0 :(得分:2)
您可以通过编辑其清单文件来显式设置脚本项目使用的范围。清单字段 oauthScopes 是项目使用的所有范围的数组。要设置项目的范围,请执行以下操作:
此处有更多信息:https://developers.google.com/apps-script/concepts/scopes
答案 1 :(得分:0)
不,这是不可能的。
范围不是嵌套的。因此,虽然逻辑上analytics.readonly
是analytics
的子集,但这不是内部查看的方式。因此,没有从analytics
降级到analytics.readonly
,因为它们是完全独立的范围。因此,由于您必须通过附加范围流程来获取analytics.readonly
,因此您可以撤销现有令牌,这是删除现有analytics
授权的唯一方法。