В этом приложении не настроены хэши ключей Android. - Войти через Facebook SDK

У меня есть проблема с логином с аккаунтом facebook в моем приложении. Я читал в Facebook Doc. И я сделал все как Facebook Doc.

Сначала войдите в аккаунт с помощью facebook acount в приложении - УСПЕШНО! и выход из системы в приложении. Я хочу снова войти в снова с моей учетной записью в facebook. Но не работает! И я взял этот Excepiton! Пожалуйста, помогите мне!

Исключение: в этом приложении не настроены хэши ключей Android. Конкретизируйте хэши ключей приложений по адресу http: developers.facebook.com/apps/ "APP ID"

Финли; Я использовал часть кода для HashKey Genarate

 try {
        PackageInfo info =     getPackageManager().getPackageInfo("MY PACKAGE NAME",     PackageManager.GET_SIGNATURES);
        for (android.content.pm.Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            String sign=Base64.encodeToString(md.digest(), Base64.DEFAULT);
            Log.e("MY KEY HASH:", sign);
          //  Toast.makeText(getApplicationContext(),sign,     Toast.LENGTH_LONG).show();
        }
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}

Я решил свою проблему. Я должен был установить настройку на Facebook. Шаги:

  • Перейдите на страницу разработчика facebook: https://developers.facebook.com/
  • Откройте вкладки приложения и нажмите "Настройка"

  • Вставьте сгенерированный hashkey в поле HashKey = Если у вас его еще нет, получите хэш-код ключа кода

  • И чем Single Sign On будет "Yes": Single Sign On: Включите этот параметр.

Я хотел поделиться своим решением. Возможно, кому-то нужно это решение. Удачи!

Ответ 1

Вам не нужно генерировать свой хэш-ключ. Когда вы попытаетесь получить доступ к facebook из своего приложения, вы получите сообщение об ошибке msg, в котором говорится, что "[Hash Key]" не зарегистрирован или не настроен. Просто скопируйте этот ключ и перейдите в developer.facebook.com, где вы зарегистрировали свое приложение для проверки подлинности на фейсбуке и включили его в хэши ключей.

Помните: для каждого устройства хэш-ключ может отличаться. Вы должны включить его только что.

По умолчанию этот ключ должен делать: 2jmj7l5rSw0yVb/vlWAYkK/YBwk =

Кроме того, перед всем, вам нужно предоставить фейсбуку с вашими подробностями о приложении, а также скриншоты о том, где вы используете функции facebook и почему вы используете. Им нужно проверить это.

Ответ 2

Чтобы создать хэш ключа выпуска, выполните следующую команду на Mac или Windows, заменив ваш псевдоним ключа выпуска и путь к хранилищу ключей. На OS X запустите:

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64

В Windows используйте:

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64


Ссылка: https://developers.facebook.com/docs/android/getting-started/#create_hash

Ответ 3

Если вы еще не опубликовали свое приложение и просто хотите использовать хеш отладочной версии, вы можете получить его из хранилища ключей отладки с помощью этой команды:

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

Подробнее об этом посте

Ответ 4

Есть простой способ получить ключ Hash.

Просто поместите в ваш основной файл .kt в методе onCreate следующие строки:

FacebookSdk.sdkInitialize(this)
println("Facebook hash key: ${FacebookSdk.getApplicationSignature(this)}")

Затем скопируйте результат на сайт разработчиков Facebook. Иногда результат не имеет одинаковый символ (=) в конце сгенерированной строки. Если так, добавьте это вручную.