2013-11-11 1 views
4

Я действительно запутался прямо сейчас. Я пытаюсь войти в Facebook из своего приложения. Это отлично работает, когда не установлено приложение FB. Я получаю токены Acces и могу работать с ним. Но если устройство установлено приложение facebook и приложение запускается по запросу theLogin, я не получаю жетон Acces со следующим исключениемFacebook SDK 3.5 Вход через приложение не работает

11-11 11:10:50.510: W/System.err(19215): com.facebook.FacebookAuthorizationException: UnknownError: ApiException:Key hash Djug8pU5w1DRPIxRaRf2N-4JniU does not match any stored key hashes. 
11-11 11:10:50.510: W/System.err(19215): at com.facebook.Session.handleAuthorizationResult(Session.java:1078) 
11-11 11:10:50.510: W/System.err(19215): at com.facebook.Session.onActivityResult(Session.java:554) 
11-11 11:10:50.510: W/System.err(19215): at com.lochmann.fb.viergewinntmultiplayer.MainActivity.onActivityResult(MainActivity.java:266) 
11-11 11:10:50.510: W/System.err(19215): at android.app.Activity.dispatchActivityResult(Activity.java:5322) 
11-11 11:10:50.510: W/System.err(19215): at android.app.ActivityThread.deliverResults(ActivityThread.java:3363) 
11-11 11:10:50.510: W/System.err(19215): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3410) 
11-11 11:10:50.510: W/System.err(19215): at android.app.ActivityThread.access$1100(ActivityThread.java:141) 
11-11 11:10:50.510: W/System.err(19215): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1304) 
11-11 11:10:50.510: W/System.err(19215): at android.os.Handler.dispatchMessage(Handler.java:99) 
11-11 11:10:50.510: W/System.err(19215): at android.os.Looper.loop(Looper.java:137) 
11-11 11:10:50.510: W/System.err(19215): at android.app.ActivityThread.main(ActivityThread.java:5103) 
11-11 11:10:50.510: W/System.err(19215): at java.lang.reflect.Method.invokeNative(Native Method) 
11-11 11:10:50.510: W/System.err(19215): at java.lang.reflect.Method.invoke(Method.java:525) 
11-11 11:10:50.510: W/System.err(19215): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
11-11 11:10:50.510: W/System.err(19215): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
11-11 11:10:50.510: W/System.err(19215): at dalvik.system.NativeStart.main(Native Method) 
11-11 11:10:50.510: W/System.err(19215): com.facebook.FacebookAuthorizationException: UnknownError: ApiException:Key hash Djug8pU5w1DRPIxRaRf2N-4JniU does not match any stored key hashes. 
11-11 11:10:50.510: W/System.err(19215): at com.facebook.Session.handleAuthorizationResult(Session.java:1078) 
11-11 11:10:50.510: W/System.err(19215): at com.facebook.Session.onActivityResult(Session.java:554) 
11-11 11:10:50.515: W/System.err(19215): at com.lochmann.fb.viergewinntmultiplayer.MainActivity.onActivityResult(MainActivity.java:266) 
11-11 11:10:50.515: W/System.err(19215): at android.app.Activity.dispatchActivityResult(Activity.java:5322) 
11-11 11:10:50.515: W/System.err(19215): at android.app.ActivityThread.deliverResults(ActivityThread.java:3363) 
11-11 11:10:50.515: W/System.err(19215): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3410) 
11-11 11:10:50.515: W/System.err(19215): at android.app.ActivityThread.access$1100(ActivityThread.java:141) 
11-11 11:10:50.515: W/System.err(19215): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1304) 
11-11 11:10:50.515: W/System.err(19215): at android.os.Handler.dispatchMessage(Handler.java:99) 
11-11 11:10:50.520: W/System.err(19215): at android.os.Looper.loop(Looper.java:137) 
11-11 11:10:50.525: W/System.err(19215): at android.app.ActivityThread.main(ActivityThread.java:5103) 
11-11 11:10:50.525: W/System.err(19215): at java.lang.reflect.Method.invokeNative(Native Method) 
11-11 11:10:50.525: W/System.err(19215): at java.lang.reflect.Method.invoke(Method.java:525) 
11-11 11:10:50.525: W/System.err(19215): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
11-11 11:10:50.525: W/System.err(19215): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
11-11 11:10:50.525: W/System.err(19215): at dalvik.system.NativeStart.main(Native Method) 

я действительно думаю, что я получил право Хэш-ключ, потому что:

public static String getKeyHash(Context context) { 
    String returner = ""; 
    try { 
     PackageInfo info = context.getPackageManager().getPackageInfo(
       "com.lochmann.fb.viergewinntmultiplayer", PackageManager.GET_SIGNATURES); 
     for (Signature signature : info.signatures) { 
      MessageDigest md = MessageDigest.getInstance("SHA"); 
      md.update(signature.toByteArray()); 
      returner = Base64.encodeToString(md.digest(), Base64.DEFAULT); 
      Log.e("MY KEY HASH:", 
        Base64.encodeToString(md.digest(), Base64.DEFAULT)); 
     } 
    } catch (NameNotFoundException e) { 
     e.printStackTrace(); 
     Log.e("ERROR", "NO NAME"); 
    } catch (NoSuchAlgorithmException e) { 
     e.printStackTrace(); 
     Log.e("ERROR", "NO ALGO"); 

    } 
    return returner; 
} 

возвращает 11-11 11:10:42.445: E/MY KEY HASH:(19215): 2jmj7l5rSw0yVb/vlWAYkK/YBwk=

Мои настройки в FB Backend выглядеть следующим образом:

enter image description here

Есть ли у кого-нибудь намек на меня, что я делаю неправильно или что я могу попробовать?

Спасибо заранее.

ответ

2

Если вы вызываете этот метод из неё, он всегда возвращает неверный хэш ключа [2jmj7l5rSw0yVb/vlWAYkK/YBwk =]. Попробуйте распечатать его в своей деятельности (oncreate). На самом деле не знаю почему, но это работает для меня. Надеюсь, что это поможет кому-то.

+0

Привет, спасибо за ответ, дадут ему попробовать понедельника. Благодаря! –

+0

Большое спасибо, теперь есть новый Key generated, и SSO теперь работает отлично. Следующий вызов будет состоять в том, чтобы выяснить, почему диалог друзей (добавить как друга) не работает. –