Android Auth错误:“GetToken失败,状态码为:INVALID_AUDIENCE”

已经有关于这个模糊的错误代码的几个问题,但是没有一个解决了这个问题,所以我再试一次.首先,这里是登录的样板代码.
GoogleSignInoptions gso = new GoogleSignInoptions.Builder(GoogleSignInoptions.DEFAULT_SIGN_IN)
        .requestemail()
        .requestServerAuthCode("web app client ID copied from Dev API Console",false)
        .build();


  mGoogleapiclient = new Googleapiclient.Builder(this).enableAutoManage(this,this).addApi(Auth
        .GOOGLE_SIGN_IN_API,gso).build();

  Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleapiclient);
  startActivityForResult(signInIntent,RC_SIGN_IN);

有了这个代码,我得到一个对话框,可以选择适当的用户帐号.好极了!但是,我在onActivityResult中获取一个取消的代码,所以我检查logcat并注意标题中的错误消息.然后,我在寻找有这个问题的其他人,但是还没有弄清楚我的情况是什么问题.

所以我们来看看其他帖子中的常见问题.

> Firebase控制台显示我的应用程序已注册正确的SHA-1和SHA-256指纹
>发布和调试版本都使用相同的密钥库
>在Google Api管理器中,配置了我的“OAuth同意屏幕”
>我还验证了授权的重定向URI的域
>我已经重新下载了Firebase的GoogleServices.json文件,只是为了确保
>没有包名称问题.事实上,Firebase Analytics在这个应用程序中一直运行得很好
>在Play Store开发者控制台中,我的OAuth客户端显示在“设置 – > API访问”
>我的Firebase项目在Play Store开发控制台“已连结帐户”设定部分中连结
>我已经等了10个小时,只是看看Google的后端是否需要时间来设置

对于可搜索性,在标题中的logcat错误消息之后,我得到以下logcat打印.

You have wrong OAuth2 related configurations,please check. Detailed
error: INVALID_AUDIENCE

解决方法

您的Web客户端ID必须与Firebase相同的用户帐户生成,而不是您的Play Store帐户.在我的情况下,这两个帐户是分开的,Google会抛出此错误,而不是正确链接信息.我的Firebase帐户与我的Play Store帐户相关联,但这显然不意味着将分享网络客户端ID.我尝试了一些其他解决方案,例如链接API管理器帐户,这也不起作用.您必须在Firebase在与您的Firebase帐户相同的API Manager帐户中使用的同一项目中创建Web客户端ID.

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...