Извините за то, что задал тот же вопрос, но я прочитал все опубликованные ранее темы и попробовал все, что было предложено, но я все еще не увенчался успехом.
Я получаю то же самое:
Приложение неверно настроено для входа в Facebook.
Проблема выглядит так же, как здесь, но я не мог заставить Logcat напечатано как ошибка красного цвета даже после установки ENABLE_LOG в true в util.java.
Я проверил свой app_id и скопировал хеш-ключ в developer.facebook, и все выглядит правильно. Но я не знаю, где я ошибаюсь, а также что я прав, когда я использую приложение без собственного приложения Facebook.
Но я хочу войти с помощью собственного Facebook.
Предполагая, что вы используете последнюю версию 3.0 SDK, попробуйте выполнить следующие два варианта:
Вариант 1: (Windows)
%KEYTOOLPATH%\keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | %OPENSSLPATH%\openssl sha1 -binary | %OPENSSLPATH%\openssl base64
Пример:
C:\Program Files (x86)\Java\jdk1.7.0_09\bin\keytool" -exportcert -alias androiddebugkey -keystore "C:\Home\.android\debug.keystore" | "C:\OpenSSL\bin\openssl" sha1 -binary | "C:\OpenSSL\bin\openssl" base64
Использовать пароль: android
Вариант 2: (Хэш хеширования печати отправлен в FB)
(Вариант Facebook SDK для Android - пример приложения не будет работать)
Добавьте этот код в свою деятельность:
try {
PackageInfo info = getPackageManager().getPackageInfo("your package name, e.g. com.yourcompany.yourapp]", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
Пример: В HelloFacebookSampleActivity сделайте следующую временную модификацию метода onCreate()
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
PackageInfo info = getPackageManager().getPackageInfo("com.facebook.samples.hellofacebook", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
...
}
Запустите свой образец, и вы должны получить вывод logcat в теге KeyHash, похожий на:
12-20 10:47:37.747: D/KeyHash:(936): 478uEnKQV+fMQT8Dy4AKvHkYibo=
Используйте это значение в настройках панели Facebook App Dashboard для своего приложения.