2016-05-26 19 views
0

Ich habe unten Code verwendet, um Daten von meinem Facebook-Home mit RestFb API zu erhalten.Erste Facebook-Fehlerantwort vom Typ OAuthException

  import java.util.List; 

      import com.restfb.Connection; 
      import com.restfb.DefaultFacebookClient; 
      import com.restfb.FacebookClient; 
      import com.restfb.FacebookClient.AccessToken; 
      import com.restfb.types.Post; 
      import com.restfb.types.User; 

      public class restFB_tester { 

      public static void main(String[] args) { 

       //60 days auth 
       String authToken="XXXXXXX"; 

       FacebookClient fbClient = new DefaultFacebookClient(authToken);  
       Connection<Post> result=fbClient.fetchConnection("me/home",Post.class); 

       int counter =0; 
       for(List<Post> page :result) 
       { 
        for(Post aPost:page) 
        { 
         System.out.println(aPost.getMessage()); 
         System.out.println("fb.com/"+aPost.getId()); 
         counter++;  
        } 
       }  
       System.out.println("No of Posts : "+counter); 
      } 

      } 

Und das wirft einen Fehler:

Exception in thread "main" com.restfb.exception.FacebookOAuthException: Empfangene Facebook Fehlerantwort vom Typ OAuthException: (# 200) Benötigt erweiterte Erlaubnis: read_stream (Code 200, Subcode null) bei com.restfb.DefaultFacebookClient $ DefaultGraphFacebookExceptionMapper.exceptionForTypeAndMessage (DefaultFacebookClient.java:1186) bei com.restfb.DefaultFacebookClient.throwFacebookResponseStatusExceptionIfNecessary (DefaultFacebookClient.java:1112) bei com.restfb.DefaultFacebo okClient.makeRequestAndProcessResponse (DefaultFacebookClient.java:1053) bei com.restfb.DefaultFacebookClient.makeRequest (DefaultFacebookClient.java:964) bei com.restfb.DefaultFacebookClient.makeRequest (DefaultFacebookClient.java:926) bei com.restfb.DefaultFacebookClient. fetchConnection (DefaultFacebookClient.java:356) bei org.hive.facebook.restFB_tester.main (restFB_tester.java:29)

ich habe versucht, dieses Problem zu lösen, konnte aber kein Glück finden. Ich war in der Lage, Daten zu erhalten, wenn ich "me/feeds" benutze, die Benutzerdaten zurückgibt. Ich habe versucht, es auf Google zu finden und versuchte verschiedene Möglichkeiten, aber nicht geholfen. Ich habe alle Erlaubnis beim Erstellen von Token gegeben.

Bitte lassen Sie mich wissen, wo ich falsch mache oder was mögliche Lösung dafür sein kann.Vielen Dank im Voraus.

Antwort

-1

Bitte lassen Sie mich wissen, wo mache ich falsch

Sie verwenden alten Code, und offenbar nicht die Mühe, in der Dokumentation zu überprüfen, was in der aktuellen API-Versionen noch möglich ist.

https://developers.facebook.com/docs/apps/changelog#v2_4_deprecations:

er /v2.4/{user_id}/home GET, GET /v2.4/{user_id}/inbox und /v2.4/{user_id}/notifications Operationen GET Die Berechtigungen read_stream, read_mailbox und manage_notifications sind in v2.4 veraltet.

Sie können diese Daten einfach nicht mehr bekommen. Sie müssen mit /me/feed machen, und die Posts, die liefert. (Welche diese sind, wird in den Dokumenten erwähnt.)