如何使用Google API移除谷歌账号的关联应用及自定义关联应用
如何通过Google API移除谷歌账号中的关联应用(含自定义应用)
我之前帮不少开发者处理过这类需求,不管是移除第三方应用还是自己开发的自定义应用,核心都是利用Google的OAuth令牌管理相关API来操作,下面分两种情况详细说:
一、通用移除谷歌账号关联应用的方法
主要依赖OAuth 2.0 Token Management API,步骤很清晰:
- 先确认你的Google Cloud项目已经启用了
oauth2.googleapis.comAPI,并且你拥有对应的授权权限(需要https://www.googleapis.com/auth/authz或者https://www.googleapis.com/auth/userinfo.profile这类权限,具体根据操作范围选择)。 - 先调用
GET https://oauth2.googleapis.com/tokeninfo?access_token=ACCESS_TOKEN接口,验证当前令牌对应的应用信息,找到你要移除的应用的client_id——这个ID是每个应用的唯一标识,是后续操作的关键。 - 核心操作:调用
POST https://oauth2.googleapis.com/revoke接口,参数带上要撤销的目标值。如果是要移除整个应用的关联,直接把参数设为token=CLIENT_ID(这里参数名还是token,但值填应用的client_id即可)。 - 当然,你也可以通过Google账号的权限页面手动操作,但既然要API方式,上面的接口就是标准方案。
二、移除自有网站的自定义应用关联
自定义应用的移除逻辑和通用应用完全一致,但有几个专属细节要注意:
- 你的自定义应用在Google Cloud Console创建OAuth客户端ID时,肯定生成了专属的
client_id,去对应的项目里找到这个ID就行。 - 拿到
client_id后,直接用上面的revoke接口,传入token=你的自定义应用client_id,就能撤销用户账号对该应用的所有授权,也就是移除关联。 - 如果是要批量处理多个用户的关联(比如你的网站要提供“解绑谷歌账号”功能),你需要确保每个用户在授权时你获取到了有效的令牌,或者如果是企业域账号,可以借助Admin SDK的
users.revokeSignInTokens接口来批量操作(需要域管理员权限)。 - 测试的时候,你可以用自己的账号先授权自定义应用,调用revoke接口后,去Google账号权限页检查,确认授权已经被移除,这样就能验证操作有效了。
小贴士:调用revoke接口后,用户如果想再次使用你的自定义应用,需要重新完成授权流程,所以操作前最好明确告知用户哦。
内容的提问来源于stack exchange,提问作者mohammad mahamood ali
相关产品推荐
相关产品推荐

