Android Facebook SDK: (# 404) Keyhash XXXXXX не соответствует ни одному из сохраненных хэшей ключей

Я пытаюсь интегрировать Android с Facebook для приложения. Я новичок в этом.

У меня есть Facebook SDK, и я пытаюсь запустить оттуда несколько образцов. Когда я запускаю образцы, я получаю эту ошибку «(# 404) Keyhash XXXXXX не соответствует ни одному из сохраненных хэшей ключей».

XXXXXX, вероятно, мой ключевой хэш, я немного поискал, что это такое. Я прочитал это и сравнил значение XXXXXX с Java Keytool. exe с моей машины. Было совпадение с этими номерами.

Я должен заставить это работать - я чувствую, что должен добавить это где-нибудь на сайте разработчика Facebook. Может ли кто-нибудь сказать мне, правильно ли это, а также как это сделать. ИЛИ мой подход тоже может быть неправильным, если вы можете указать мне правильный подход. Это будет полезно.

Спасибо!


person sudhishkr    schedule 07.03.2014    source источник
comment
Вы должны добавить этот хеш-ключ в консоль разработчика facebook вашего приложения.   -  person Spring Breaker    schedule 07.03.2014


Ответы (4)


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

1. После создания приложения нажмите на настройки на левой боковой панели.

2. Выберите "Добавить платформу".

3. Во всплывающем окне выберите Android в качестве платформы.

4. Там вы найдете поля для ввода имени пакета, имени класса и хэш-ключей.

5. Заполните соответствующие поля. Вы также можете ввести множество хэш-ключей.

Примечание. Если вы введете неверный хеш-ключ, то снова отобразится та же ошибка.

Надеюсь, поможет.

person Spring Breaker    schedule 07.03.2014

Потратив несколько часов и сославшись на несколько ответов здесь. наконец, это сработало для меня. несколько наблюдений:

  1. хэш-код, сгенерированный Keytool, не совпадает с хэш-кодом, отображаемым в исключении. Используйте более позднюю.
  2. Для примеров приложений Facebook нам нужно добавить хеш для SampleApp. Здесь, если мы ввели хэш и нажали SaveChanges, он очищается, а не сохраняется. Поэтому, прежде чем нажимать SaveChanges, нужно нажать клавишу ввода и убедиться, что он не очищается.
  3. необходимо добавить = в конце хеш-ключа, показанного в исключении.
person siva    schedule 28.04.2014
comment
№1 может быть неверным. Keytool работает для меня. Моя проблема заключалась в том, что я торопился, поэтому я не заполнил имя пакета - person Karthik T; 08.05.2014
comment
Уг! Добавление = после хэша в ошибке было ключом. - person Jay; 26.05.2014
comment
Вы можете получить хэш-код, показанный в исключении, добавив фрагмент кода, как описано здесь: developers.facebook.com/docs/android/getting-started/ - person ban-geoengineering; 18.11.2014

При создании хеш-ключа выпуска обратите внимание на это

Windows:
при создании хэш-ключа для производства вам нужно использовать openssl-0.9.8e_X64.zip в Windows, вы не можете использовать openssl-0.9.8k_X64.zip

Версии выдают разные хэш-ключи, почему-то 9.8k работает некорректно... 9.8e работает.

OR

Используйте этот ниже поток

Вот как я решил эту проблему. Загрузите APK на свой компьютер в папку java jdk\bin в моем случае C:\Program Files\Java\jdk1.7.0_121\bin перейдите в папку java jdk\bin и запустите cmd, затем скопируйте следующую команду в свой cmd

keytool -list -printcert -jarfile yourapkname.apk

Скопируйте значение SHA1 в буфер обмена CD:A1:EA:A3:5C:5C:68:FB:FA:0A:6B:E5:5A:72:64:DD:26:8D:44:84 и откройте Hex To Base 64, чтобы преобразовать Значение SHA1 в base64.

Для MAC

Шаг 1:

Сгенерируйте ключ SHA1, используя приведенную ниже команду
keytool -list -v -keystore
Введите пароль хранилища ключей.
Скопируйте ключ SHA1.

Шаг 2.
Откройте эту ссылку — Hex To Base 64
Вставьте ключ SHA1 в шестнадцатеричной строке
Нажмите кнопку преобразования
Получите хеш-ключ релиза в выходном значении

person Thamim    schedule 13.08.2019

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

person donhwa chan    schedule 02.04.2021
comment
Похоже, вы написали один и тот же ответ на двух разных языках - SO - это сайт только на английском языке. Не могли бы вы удалить другие языки? - person Tyler2P; 02.04.2021