0

Я пытаюсь открыть диалог доступа в своем приложении с помощью Open Graph, и он открывается правильно, но через несколько секунд выйдет из строя.Android - открыта диалоговая панель Open Open Graph, а затем сбой

Мой код следует документации по адресу https://developers.facebook.com/docs/android/share-dialog/#publish-og-with-user-objects, но с немного разными конструкторами для createForPost, хотя я пробовал в обоих направлениях.

private void shareToFB(Context context) { 
    if (FacebookDialog.canPresentOpenGraphActionDialog(context.getApplicationContext(), 
      FacebookDialog.OpenGraphActionDialogFeature.OG_ACTION_DIALOG)) { 
     OpenGraphObject badge = OpenGraphObject.Factory.createForPost 
       (OpenGraphObject.class, "exercisemeapp:badge", "I earned a new badge!", 
         "http://4sqday16.files.wordpress.com/2011/11/foursquare-gym-rat-badge.png", 
         null, "I completed a full body workout for 7 straight days!"); 
     OpenGraphAction action = GraphObject.Factory.create(OpenGraphAction.class); 
     action.setProperty("badge", badge); 
     action.setType("exercisemeapp:earn"); 

     FacebookDialog shareDialog = new FacebookDialog.OpenGraphActionDialogBuilder(getActivity(), action, "badge") 
       .build(); 
     uiHelper.trackPendingDialogCall(shareDialog.present()); 
    } else { 
     Toast.makeText(getActivity(), "Facebook not available", Toast.LENGTH_SHORT).show(); 
    } 
} 

Единственные ошибки я вижу в LogCat являются следующие:

1525-1525/com.facebook.katana E/dalvikvm﹕ Could not find class 'org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl', referenced from method com.facebook.ssl.openssl.check.CheckOpenSSLImplHasRequiredMethods.<clinit> 
1525-1525/com.facebook.katana E/dalvikvm﹕ Could not find class 'org.apache.harmony.xnet.provider.jsse.OpenSSLSocketFactoryImpl', referenced from method com.facebook.ssl.openssl.reflect.SSLParametersGetter.<clinit> 
1525-1525/com.facebook.katana E/dalvikvm﹕ Could not find class 'org.apache.harmony.xnet.provider.jsse.SSLParametersImpl', referenced from method com.facebook.ssl.openssl.reflect.SSLParametersGetter.a 
1525-1525/com.facebook.katana E/dalvikvm﹕ Could not find class 'org.apache.harmony.xnet.provider.jsse.SSLParametersImpl', referenced from method com.facebook.ssl.openssl.reflect.SSLSessionTimeoutSetter.<clinit> 
1525-1525/com.facebook.katana E/dalvikvm﹕ Could not find class 'org.apache.harmony.xnet.provider.jsse.ClientSessionContext', referenced from method com.facebook.ssl.openssl.reflect.SSLSessionTimeoutSetter.a 
1525-1525/com.facebook.katana E/dalvikvm﹕ Could not find class 'com.facebook.ssl.openssl.TicketEnabledOpenSSLSocketImplWrapper', referenced from method com.facebook.ssl.openssl.TicketEnabledOpenSSLSocketFactoryHelper.a 

И предупреждение:

Exception during service com.facebook.http.protocol.ApiException: 
(#404) Key hash bMpkGAEDBrEt9w9JMM_UU5Jx-Cc does not match any stored key hashes. 
at com.facebook.http.protocol.ApiResponseChecker.b(ApiResponseChecker.java:103) 
+0

ли вы установили ключ вашего приложения правильно? Обратитесь к последнему разделу https://developers.facebook.com/docs/android/getting-started/ – Srikanth

+0

Да, это была проблема, спасибо! –

ответ

0

Выглядит как хэш-ключ вашего приложения и один зарегистрированный Facebook не совпадает. Это то, что facebook says.

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

 Смежные вопросы

  • Нет связанных вопросов^_^