Ошибка входа в Google (ApiException: 12501)

Я пытаюсь войти в Google Play Games. Это код:

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: сначала включите Google Sign-in в Firebase Console, во-вторых, вы должны создать ключ отладки SHA1 и добавить его в консоль Firebase (что вы уже сделали), в-третьих, создайте идентификатор клиента OAuth 2.0 для Android и, наконец, получите сгенерированный google-сервис. json из консоли Firebase и поместите в папку приложения. Надеюсь это поможет.

Mr.Rebot 01.05.2018 18:04

Да, я это уже сделал. Проблема в том, что я не вхожу в систему с помощью Google, я вхожу в систему с помощью Google Play Games. Итак, я создал идентификатор клиента Android OAuth 2.0 и снова сгенерировал файл google-service.json. Затем я включил вход в Play Games в консоли Firebase и создал идентификатор веб-клиента OAuth 2.0 с секретным клиентом bla bla bla ... Я снова сгенерировал файл google-services.json и поместил в папку приложения, а затем я получил та ошибка Google sign in failed: com.google.android.gms.common.api.ApiException: 12501

Ventura De Lucas Sánchez 01.05.2018 18:14

странно, значит, вы связали свой проект Firebase со своей учетной записью издателя игры и занесли в белый список адрес электронной почты, который вы используете?

Mr.Rebot 01.05.2018 18:36

да. Кажется, у меня есть все, что мне нужно. однако ошибка сохраняется ...

Ventura De Lucas Sánchez 01.05.2018 18:45
Интеграция Angular - Firebase Analytics
Интеграция Angular - Firebase Analytics
Узнайте, как настроить Firebase Analytics и отслеживать поведение пользователей в вашем приложении Angular.
2
4
1 015
1

Ответы 1

Изменять

GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN

к

GoogleSignInOptions.DEFAULT_SIGN_IN

Пожалуйста, предоставьте более описательный контекст вашего ответа, чтобы лучше понять разницу.

JimmyFlash 26.05.2020 12:07

Другие вопросы по теме