Google登录失败(ApiException:8) [英] Google Sign In Failed ( ApiException: 8 )

查看:124
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆