В этом приложении не настроены хэши ключей 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. Иногда результат не имеет одинаковый символ (=) в конце сгенерированной строки. Если так, добавьте это вручную.