我正在使用3个Google API服务(分析、网站管理员、页面速度)。我有一个单一的谷歌API客户端ID(所有3个服务都已激活)和通用的谷歌API PHP SDK在我的服务器。
此应用程序的用户应能够根据其使用情况在任何时间点独立授予和撤销对每个服务的访问权限。这可能吗?
测试用例:如果用户最初只想使用分析服务,他应该能够只授予分析访问权限,后来如果他也想使用页面速度服务,他也应该能够在不影响分析访问权限的情况下授予页面速度
如果他想使用分析&网站管理员以后,他应该能够在不影响分析或网站管理员访问的情况下,仅撤销页面速度访问。
请求访问令牌时,指定要访问的资源。如果以后需要访问另一个资源,则为该资源请求另一个令牌。
您可以通过在请求令牌时将include_granted_scopes
设置为true
来简化实现。这将包括以前的所有授权,因此您只需要处理新的令牌。
AFAIK没有办法撤销对特定作用域的访问,即使文档提到"当您撤销代表组合授权的令牌时,所有授权都会同时撤销;"。实际上,即使在撤销单个令牌时也会发生这种情况。此外,谷歌帐户用户界面不允许用户指定他想要保留的权限,只能撤销应用程序的所有访问权限。
有关增量授权,请参阅文档。