我在集成 Google+ 登录功能时遇到了一些问题。到目前为止,我已经集成了所有必要的 G+ Sign in API 模块和代码,这些模块和代码运行良好,在使用 debug.keystore 的 keytool 生成 SHA1 并将 SHA1 粘贴到谷歌云上后,生成并放置了 google-services.json 并放置在/app 中开发人员控制台,但现在我只遇到一个故障,因为很多天/周以来,即当我尝试进行设备调试时,每当我单击“G+ 登录”时,我都会在 LogCat 中收到以下错误:
E/GMPM: getGoogleAppId failed with status: 10
E/GMPM: Uploading is not possible. App measurement disabled.
D/SignInActivity: handleSignInResult:false
此 handleSignInResult 一直返回 False,无法登录以进一步获取数据。如果你们中的任何人曾经遇到过这种情况,请在这里帮助我。这个小障碍非常令人抓狂。
谢谢大家
最佳答案
您使用的是 Plus.API 还是 Auth.GOOGLE_SIGN_IN_API?后者是最新改造的。在这里查看: https://developers.google.com/identity/sign-in/android/sign-in
如果您使用的是 Auth.GOOGLE_SIGN_IN_API:
在onActivityResult中,使用类似于下面的代码,你可以得到一个状态码,由GoogleSignInStatusCodes定义:https://developers.google.com/android/reference/com/google/android/gms/auth/api/signin/GoogleSignInStatusCodes
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
if (requestCode == RC_SIGN_IN) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
int statusCode = result.getStatus().getStatusCode();
}
}
最常见的问题是缺少正确的 OAuth2 客户端注册。 (不幸的是,目前状态代码是 INTERNAL_ERROR 8,这没有帮助。)例如看看这个线程: Occured an INTERNAL_ERROR when requestEmail from GoogleSignInOptions Android
关于Android Google Plus 登录问题。 handleSignInResult 返回 False,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35008490/