isSessionValid () возвращает NO, когда установлено нативное приложение Facebook - PullRequest
1 голос
/ 10 января 2012

У меня проблема с SSO при использовании Facebook SDK для Android. Проблема возникает только , когда установлено родное приложение Facebook. Когда он не установлен, все работает нормально, а именно:

Facebook facebook = new Facebook(APP_ID);
facebook.authorize(mActivity, , new DialogListener() {
   ...
});

facebook.isSessionValid(); // returns true

Но когда установлено нативное приложение, facebook.isSessionValid() по-прежнему возвращает false, несмотря на то, что я вызвал метод authorize.

Я должен добавить, что я создал собственное приложение Facebook на базе Android с хеш-ключом, сгенерированным из моего отладочного сертификата, используя keytool.

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

Что происходит?

Ответы [ 2 ]

7 голосов
/ 31 января 2012

РЕШИТЬ!:)

Я надеюсь, что это сработает и для вас.Проблема в том, что Windows генерирует недопустимый ключ.

Запустите это с вашим приложением:

try {
   PackageInfo info = getPackageManager().getPackageInfo("**YOURPACKAGENAME**", PackageManager.GET_SIGNATURES);
   for (Signature signature : info.signatures) {
        MessageDigest md = MessageDigest.getInstance("SHA");
        md.update(signature.toByteArray());
        Log.i("PXR", Base64.encodeBytes(md.digest()));
   }
}
catch (NameNotFoundException e) {}
catch (NoSuchAlgorithmException e) {}

Не забудьте получить Base64 (http://iharder.sourceforge.net/current/java/base64/).

Сгенерированныйключ находится на вашем logcat, замените старый на этот.

Решение благодаря: http://p -xr.com / добавление-facebook-в-ваше-приложения-недействительный-ключ-с-Keytool /

0 голосов
/ 13 августа 2013

В дополнение к тому, что написал Лиор

, вы можете сделать журнал следующим образом:

Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));

, чтобы вы могли использовать Andorid Base64

ref: InvalidПоиск и устранение неисправностей хеша ключей

...