如何用新的Google登录Android?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (55)

我试图使用新的Google Play服务8.3获取用户令牌ID,并按照记录传递服务器ID:

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
    .requestIdToken(getString(R.string.server_client_id))
    .requestEmail()
    .build();

但我仍然得不到成功的结果如下:

{statusCode=unknown status code: 12501, resolution=null}

这不是我的情况,因为我已经选择了一个帐户。这是什么原因呢?

提问于
用户回答回答于

这是我得到的工作:

  1. 在AndroidStudio中导入项目
  2. 为项目创建调试密钥库。
  3. 使用调试密钥库为项目创建SHA1签名。
  4. 使用SHA1签名,在Google Developer Console上注册您的Google Signin应用。
  5. 在那里生成一个Google配置文件(放入Android Studio的app文件夹)
  6. 在你的Android项目中使用来自OAuth 2.0凭据的Web客户端ID。
  7. 现在,从Android Studio中生成您的项目的调试版本(APK)。
  8. 将设备挂载到系统中 - >复制APK的此签名调试版本并安装它。
用户回答回答于

第一步告诉你创建配置文件(为你创建一个OAuth 2.0客户端ID并将其插入到google-services.json中)

然后,它再次说明如何创建OAuth 2.0客户端ID,但这次它表示你必须为Web应用程序执行此操作。

正如它所说的那样,它就是这一个,只有这一个你必须用作方法requestIdTokenrequestServerAuthCode的参数。

我认为主要的问题是文档对此有点困惑。或者,也许是因为你必须创建两个OAuth ID才有点奇怪。

扫码关注云+社区