Google登录失败(ApiException:8) [英] Google Sign In Failed ( ApiException: 8 )
本文介绍了Google登录失败(ApiException:8)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我尝试通过google登录时,出现此异常
When I try to sign in by google I get this exception
2020-11-12 13:32:51.571 7351-7351/com.test.app W/aaab:com.google.android.gms.common.api.ApiException:8
2020-11-12 13:32:51.571 7351-7351/com.test.app W/aaab: com.google.android.gms.common.api.ApiException: 8
这是什么意思?
代码
public class MainActivity extends AppCompatActivity {
private GoogleSignInClient mGoogleSignInClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mGoogleSignInClient = GoogleSignIn.getClient(this, new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN).build());
Button btnSignIn = (Button) findViewById(R.id.btn_sign_in);
btnSignIn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivityForResult(mGoogleSignInClient.getSignInIntent(), 100);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 100) {
Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);
if (task.isSuccessful()) {
Toast.makeText(this, "Done", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Failed", Toast.LENGTH_SHORT).show();
Log.w("aaab","" + task.getException());
}
try {
GoogleSignInAccount account = task.getResult(ApiException.class);
} catch (ApiException ignored) {
}
}
}}
这是清单.............................................................
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.app">
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<meta-data android:name="com.google.android.gms.games.APP_ID"
android:value="892959183721" />
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
推荐答案
尝试一下
GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN).requestEmail().build();
还要确保将您的应用程序ID外包给资源文件.
Also make sure to outsource your app id to a resource file.
<!-- This works -->
<meta-data android:name="com.google.android.gms.games.APP_ID"
android:value="@string/app_id" />
<!-- This is returning an error -->
<meta-data android:name="com.google.android.gms.games.APP_ID"
android:value="12345678" />
这篇关于Google登录失败(ApiException:8)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文