2014-10-25 7 views
5

Ich verwende Facebook Graph API, um Informationen von der öffentlichen Seite zu crawlen. Das aktuelle Problem ist, wie man die Gesamtzahl der Posts auf einer Facebook-Seite erhält. Wenn wir zu/{page-id}/posts gehen, gibt es nur 25 Posts, die auf dieser Seite gepostet wurden, und keine zusammenfassenden Informationen erwähnen die Felder der Seite. Ich habe die vorherige Antwort überprüft, es scheint, dass der einzige Weg ist, die Anzahl der Elemente jedes Links in nächsten zu zählen und die Gesamtzahl zu erhalten. Aber es ist sehr ineffizient. Gibt es eine Methode, die den gesamten Beitrag direkt auf einer anderen Seite als FQL abrufen kann?Wie erhält man die Gesamtzahl der Posts auf einer Facebook-Seite mit Graph API?

Antwort

1

Facebook nicht aktiv die Anzahl der Beiträge zählen eine Seite gemacht hat; abhängig von der Seite könnte es eine astronomische Zahl sein.

Sie haben würde alle Beiträge bekommen und sich durch sie zählen. Ich würde so etwas benutzen.

{PAGE}/posts?fields=id&limit=250 

Es wird den kleinstmöglichen Datensatz zurückgeben, den Sie benötigen. Du kannst nicht über 250 gehen, du könntest mit FQL aber nicht mit v2.1. Außerdem möchten Sie FEED nicht, da dies eine Zusammenfassung der Posts und der Posts der Seite ist, die von anderen Benutzern erstellt wurden. Dies wird ein Objekt wie dieses zurückgeben.

{ 
"data" : [ 
    PostData 
    ... ], 
"paging" : { 
    ... 
    "next" : CursorURL 
} 
} 

Dies ist die Cursor-URL, so dass Sie die Gruppen von 250 Stellen in umgekehrter chronologischer Reihenfolge zurücktreten können.

können Sie die Zählung Verknüpfung von 250 jedes Mal Erhöhen Sie einen neuen Cursor erhalten, die auch Beiträge zurückgibt. Sie müssen nur die Ergebnisse im Satz mit dem vorletzten Cursor zählen und hinzufügen, da der letzte Cursor ein leeres Datenfeld zurückgibt.

+0

Das maximale Limit beträgt 100 für Beiträge. Ich weiß nicht, woher du die 250 hast. – Noah

+1

@Noah Es war 250, aber es ist jetzt 100, und wenn Sie mehr als 100 eingeben, wird es Ihnen tatsächlich einen Fehler geben, anstatt nur die Ergebnisse auf 100 zu beschränken. –

0

können Sie versuchen, /page/posts?limit=1000 Zugabe, aber ich bin nicht sicher, ob das funktioniert. Sie können auch versuchen, /page/feed zu verwenden, um zu sehen, ob es Ihre gewünschten Ergebnisse erzielt. Wenn keines dieser Dinge funktioniert, ist es höchstwahrscheinlich, dass Sie die Gesamtzahl der Posts nicht abrufen können. Außerdem wird FQL nächstes Jahr veraltet sein.

+0

das nicht möglich ist. Das maximale Limit für Beiträge beträgt 100. – Noah

2
 function p_post() { 
       FB.api("/209652442394600/posts?fields=admin_creator,name&limit=250", function (response) { 
        var t = response.data.length; 
        document.getElementById('tposts').innerHTML = t; 
      }); 
      } 

es funktioniert bis 250 und ich es letzte Woche

Verwandte Themen