Подтвердить что ты не робот

Ошибка: Status {statusCode = DEVELOPER_ERROR, resolution=null}

Я использую вход gplus, и получаю эту ошибку в то время, когда я нахожусь в onActivityResult....

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    callbackManager.onActivityResult(requestCode, resultCode, data);
    client.onActivityResult(requestCode, resultCode, data);

    if (requestCode == 0) {
        GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
        if (result.isSuccess()) {

            GoogleSignInAccount acct = result.getSignInAccount();
//                Log.d("Result","details"+ acct.getDisplayName() + acct.getEmail());

            mEmail = acct.getEmail();
            String mFullName = acct.getDisplayName();
            String mGoogleplusId = acct.getId();


            SocialUser user = new SocialUser();
            user.setType("googleplus");

            user.setEmail(mEmail);
            user.setFullname(mFullName);
            user.setId(mGoogleplusId + "");
            loginParams.put("email_id", mEmail);
            loginParams.put("googlePlusId", mGoogleplusId);
            loginParams.put("full_name", mFullName);
            loginParams.put("registrationType", "googleplus");
            SignUpService(user);


        } else {
            Toast.makeText(CustomerLogIn.this, "Unable to fetch data, Proceed manually", Toast.LENGTH_SHORT).show();
        }
    }
}

И я призываю gplus войти на кнопку. На кнопке clcking выполняется следующий код....

 GoogleSignInOptions googleSignInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestEmail()
            .build();
    mGoogleApiClient = new GoogleApiClient.Builder(CustomerLogIn.this)

            .addApi(Auth.GOOGLE_SIGN_IN_API, googleSignInOptions)
            .build();


    Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
    startActivityForResult(signInIntent, 0);

И я получаю эту ошибку...

Status{statusCode=DEVELOPER_ERROR, resolution=null}

на этой строке....

GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);

Пожалуйста, предложите решение.

4b9b3361

Ответ 1

Вам необходимо добавить ключ SHA1 в конфигурацию консоли Firebase. Вы можете сделать это следующим образом:

Консоль Firebase (https://console.firebase.google.com) → ваш проект → конфигурация → выделите

enter image description here

Вы можете найти свой ключ SHA1, запускающий "Отчет о входе" из Android Studio:

enter image description here

Затем посмотрите "Запустить вкладку" и нажмите кнопку:

enter image description here

Я думаю, что это проще. Надеюсь, это поможет.

Ответ 2

Возможно, вы создали файл конфигурации, используя SHA1 вашего производства маркера, используйте androiddebugkey псевдоним, чтобы собрать SHA1, соответствующий отладочной версии вашего приложения и скопируйте файл конфигурации в каталог "приложение", вы должны иметь оба файла конфигурации (один для целей отладки и другое для продакшен среды).

На основе пошагового руководства, опубликованного в https://developers.google.com/identity/sign-in/android/start.

Ответ 3

У меня была та же проблема, и я получил ее, выполнив следующие действия:

1.Добавьте отпечаток DEBUG_KEYSTORE SHA1 в проект Firebase. используйте следующую команду (MAC/LINUX)

  keytool -exportcert -list -v \-alias androiddebugkey -keystore ~/.android/debug.keystore  

2. Теперь создайте подписанный apk вашего проекта. Процесс включает в себя создание хранилища ключей для версии вашего приложения.

  Copy the path of the newly generated .jks file.

3. Теперь сгенерируйте отпечаток RELEASE_KEYSTORE SHA1, используя следующую команду

  keytool -list -v -keystore FULL_PATH_TOJKS_FILE -alias ALIAS_NAME

4. Скопируйте новый SHA1 из выходных данных и добавьте его в качестве другого отпечатка SHA1 в консоль приложения Firebase.

Теперь вы готовы идти! ---- Надеюсь! это помогает.

Ответ 4

enter image description here

Я исправил это, подняв ключ, соответствующий выделенному тексту. Из-за запутанного использования слова "сервер" на странице документации Firebase я брал Server key от Server key. Который был причиной проблемы.

Вы можете найти ключ здесь.

Ответ 5

У меня была та же проблема, я решил, что в файле Gradle у меня был другой идентификатор приложения, чем имя пакета в файле манифеста. И я использовал applicationId для создания файла JSON. Мне пришлось изменить имя пакета на то, каким был мой applicationId, и это помогло мне.

Ответ 7

В качестве альтернативы ответам, представленным здесь, вы можете использовать Android Studio Firebase Assistant для автоматического добавления вашего SHA-1 в ваш проект нажатием некоторых кнопок.

В Android Studio Tools > Firebase > Select 'Authentication' и нажмите ссылку Tools > Firebase > Select 'Authentication' 'Email and password authentication'.

Это принесет вам небольшой урок о том, как интегрировать аутентификацию в ваш проект, но, поскольку вы, вероятно, сделали все это, просто нажмите 'Connect to Firebase' и все готово.

Ответ 8

Это старый вопрос, но в последнее время я застрял с ошибкой 10 (DEVELOPER_ERROR), потому что я использовал идентификатор клиента Android, который я создал в консоли разработчика Google.

Решением для меня было использование учетных данных Android в консоли разработчика Google только для указания ключа SHA моего apk и использования идентификатора клиента для веб-приложения (!) Учетных данных из консоли разработчика Google в моем приложении Cordova.

config.xml:

<plugin name="cordova-plugin-googleplus" spec="^5.3.0">
    <variable name="REVERSED_CLIENT_ID" value="com.googleusercontent.apps.[web-application-client-id]" />
    <variable name="WEB_APPLICATION_CLIENT_ID" value="[web-application-client-id].apps.googleusercontent.com" />
</plugin>

код:

window.plugins.googleplus.login(
    {
       'webClientId': '[web-application-client-id].apps.googleusercontent.com'
    }, 
    ...

Я не использую firebase.

Ответ 9

Возможно, вы сгенерировали и добавили неверный ключ SHA1. Для генерации ключа SHA1 в Android-студии выполните следующие шаги:

  1. Нажмите на Gradle (на правой боковой панели вы увидите Gradle Bar)
  2. Нажмите "Обновить" (нажмите "Обновить из панели Gradle", вы увидите список сценариев Gradle вашего проекта)
  3. Нажмите на свой проект (список имен вашего проекта (корень))
  4. Нажмите на задачи
  5. Нажмите на Android
  6. Двойной щелчок на SigningReport (вы получите SHA1 и MD5 на панели запуска (иногда это будет в консоли Gradle))

Теперь добавьте этот ключ SHA1 в ваш проект Firebase Android.

Ответ 10

Для меня это работало, когда я впервые реализовал это, но прекратилось после нескольких дней разработки с упомянутым сообщением об ошибке.

Я решил проблему с этими шагами:

  1. Я добавил отпечаток sha-256 поверх отпечатка sha-1, который у меня уже был в консоли Firebase. (Не уверен, требуется ли этот шаг)
  2. Я снова скачал файл google-services.json и заменил старый файл.
  3. переустановил приложение

и это сработало

Ответ 11

Я столкнулся с этой ошибкой в моем приложении Firebase. Это было исправлено, когда я добавил ниже requestIdToken(activity.getString(R.string.default_web_client_id)).

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
        .requestEmail().requestIdToken(activity.getString(R.string.default_web_client_id))
        .build();

    apiClient = new GoogleApiClient.Builder(activity)
        .addConnectionCallbacks(this)
        .enableAutoManage(activity, this)
        .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
        .build();

    Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(apiClient);
    activity.startActivityForResult(signInIntent, RC_GOOGLE_SIGN_IN);

Ответ 12

Я получил эту ошибку, когда я обновил свой конфигурационный файл json новой учетной записью Google.

Удаление приложения вручную и переустановка приложения работали для меня.

Ответ 13

Ошибка вызвана тем, что контрольная сумма SHA-1 ключа отладки или выпуска не включена в консоль firebase/google.

Сначала сгенерируйте ключ, используя следующую команду:

keytool -list -v -keystore KEYSTORE_PATH -alias ALIAS_NAME

Затем скопируйте контрольную сумму SHA-1 и перейдите к:

Firebase Console> Ваш проект> Настройки приложения> Добавить fingerprint

Ответ 15

Убедитесь, что вы включили вход в Google в разделе "Аутентификация на консоли Firebase".

Ответ 16

У меня была такая же проблема, но я решил ее, сменив пароль на идентификатор, я оставляю ссылку. fooobar.com/questions/16402734/...

Ответ 17

Я решил свою проблему, используя права server_client_id в этой строке:

String serverClientId = getString(R.string.server_client_id);

Я использовал неправильный код.