2016-05-23 18 views
1

Die neue facebook API ermöglicht es uns, Reaktionen auf einen Beitrag auf einer Seite zu bekommen, für diese fb hat eine Reaktionskanten Ich bin in der Lage, Daten von dieser Kante durch einfaches Treffen post-ID/Reaktionen aus dem Graph API zu extrahieren Forscher. HierExtraktionsreaktionen Daten von Facebook über RestFb Java API?

ist die grafische Darstellung api Anfrage: -

1497117777255241_1526440124323006/Reaktionen

und die Antwortdaten

{ "data": [ { "id": "100008182891350", "Name": "Harsh Sharma", "Typ": "LIEBE" }], "Paging": { "Cursor": { "vor": "TVRBd01EQTRNVGd5T0RreE16VXdPakUwTmpRd01EQTROalk2TnpnNE5qUTRNRE0zT1RFek16RXkZD", "nach": "TVRBd01EQTRNVGd5T0RreE16VXdPakUwTmpRd01EQTROalk2TnpnNE5qUTRNRE0zT1RFek16RXkZD" }}}

jetzt ich versuche, das gleiche zu tun mit der java rest fb api, in dem ich zuerst den post extrahiere und dann das objekt benutze, rufe ich die get-reaktionsmethode auf, aber ich bekomme keine daten. Hier ist der Beispielcode für das gleiche: -

reactionsCount=post.getReactionsCount(); 
     System.out.println("post id-->"+post.getId()+" reactions--->"+post.getReactionsCount()); 
     reactionsObj=post.getReactions(); 

für die oben genannte Post-ID: gibt es eine Reaktion auf, aber ich erhalte die Reaktion zählt als Null über restFB, aber ich bin immer Daten aus der Graphen api .

Die reactionObj ist auch null jedes Mal (erhalten über reactionsObj = post.getReactions(); )

if(reactionsObj!=null) 
      { 
       System.out.println("bring it on reactions-------"); 
        for (ReactionItem reactionListItem : reactionsObj.getData()) 
        { 
         reactionsMap.put("id", reactionListItem.getId()); 
         reactionsMap.put("name", reactionListItem.getName()); 
         reactionsMap.put("type",reactionListItem.getType()); 


        } 
} 

Ich erhalte Posts/Kommentare/erfolgreich mag, nur die Reaktionen Randprobleme schafft. Bitte lassen Sie mich wissen, wo ich falsch liege.

bearbeiten

Connection<Post> postSearch =FacebookClientBean.getFacebookclient().fetchConnection(pageId+"/feed", Post.class); 
+0

Sie bitte die fetchObject bieten rufen Sie die Post holen gemacht. Dies würde viel helfen, dies zu untersuchen. – Norbert

+0

Ich habe die Frage bearbeitet, um den Anruf – Yatin

+1

einzuschließen, und dort ist das Problem.Sie müssen den Parameter fields hinzufügen, um auf die Reaktionen zuzugreifen. Versuchen Sie etwas wie: 'fetchConnection (pageId +"/feed ", Post.class, Parameter.with (" Felder "," reactions.summary (1) "));' – Norbert

Antwort

3

Gesammelte Lösungen aus den Kommentaren:

zu erhalten Reaktionen auf einem Beitrag haben Sie das Feld in der Anfrage wie folgt hinzuzufügen:

fetchConnection(pageId+"/feed", Post.class, Parameter.with("fields","reactions.summary(1)")); 

Eine Fehlermeldung mit dem Conten t erfordert Version v2.6 oder höher ist ein Hinweis die falsche Graph-API-Version wird verwendet, um den Knoten anzufordern. die richtige Version Wählen Sie im DefaultFacebookClient Konstruktor:

new DefaultFacebookClient(accessToken, Version.VERSION_2_6);