Google 登录失败(ApiException:12501)
Posted
技术标签:
【中文标题】Google 登录失败(ApiException:12501)【英文标题】:Google Sign In Failed (ApiException: 12501) 【发布时间】:2018-10-11 11:09:16 【问题描述】:我正在尝试使用 Google Play 游戏登录。这是代码:
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN)
.requestServerAuthCode(getString(R.string.default_web_client_id))
.build();
googleSignInClient = GoogleSignIn.getClient(this, gso);
我使用以下代码启动 GoogleSignInActivity:
@Override
public void onClick(View view)
Intent intent = googleSignInClient.getSignInIntent();
startActivityForResult(intent, SIGN_IN_CODE);
);
然后,它又回到了这里:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == SIGN_IN_CODE)
Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);
try
// Google Sign In was successful, authenticate with Firebase
GoogleSignInAccount account = task.getResult(ApiException.class);
firebaseAuthWithGoogle(account);
catch (ApiException e)
// Google Sign In failed, update UI appropriately
Log.w(TAG, "Google sign in failed", e);
updateUI(null);
所以在这一行:
Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);
我收到此错误:
Google sign in failed: com.google.android.gms.common.api.ApiException: 12501
SHA1 证书没有任何错误,因为我已多次生成它并将其粘贴到 Firebase 控制台中,我在清单文件中也有此权限:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
我的任何代码都已弃用。我正在使用最新的依赖项:
implementation 'com.google.firebase:firebase-auth:15.0.0'
implementation 'com.google.firebase:firebase-core:15.0.0'
implementation 'com.google.android.gms:play-services-auth:15.0.0'
我已阅读所有可能的文档。我对此感到非常绝望,这个问题几乎有一个星期......
【问题讨论】:
尝试检查Firebase AuthDemo:首先在 Firebase 控制台中启用 Google 登录,其次您应该创建 SHA1 调试密钥并添加到 Firebase 控制台(您已经完成),第三个创建 android OAuth 2.0客户端 ID,最后从 Firebase 控制台获取生成的 google-service.json 并放入 app 文件夹。希望这会有所帮助。 是的,我已经这样做了。问题是我没有用 Google 登录,我用 Google Play Games 登录。所以我创建了 OAuth 2.0 Android 客户端 ID 并再次生成了 google-service.json 文件。然后我在 Firebase 控制台中启用了 Play Games 登录,并使用秘密客户端 bla bla bla 创建了一个 OAuth 2.0 Web 客户端 ID ...我再次生成了 google-services.json 文件并放入 app 文件夹,然后我得到那个错误Google sign in failed: com.google.android.gms.common.api.ApiException: 12501
奇怪,那么您是否已将您的 Firebase 项目关联到您的 Play 发行商帐户并将您使用的电子邮件列入白名单?
是的,我有。看来我有我需要的一切。但是,错误仍然存在...
【参考方案1】:
改变
GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN
到
GoogleSignInOptions.DEFAULT_SIGN_IN
【讨论】:
请提供您回答的更多描述性上下文,以帮助理解差异以上是关于Google 登录失败(ApiException:12501)的主要内容,如果未能解决你的问题,请参考以下文章
谷歌登录失败 com.google.android.gms.common.api.ApiException: 10:
使用 android 基本示例登录排行榜失败并出现 com.google.android.gms.common.api.ApiException: 4:
Android Google登录失败com.google.android.gms.common.api.ApiException:12500
Google Play 游戏服务登录错误:ApiException:4
Google play 服务游戏静默登录错误 'com.google.android.gms.common.api.ApiException: 4:'
无法使用 Google Plus 登录,出现 com.google.android.gms.common.api.ApiException: 10: