Ich habe versucht, Facebook-Kommentare zu erhalten:
http://graph.facebook.com/[post_id]/comments
Es ergibt sich nur 2 von 15 Kommentaren und ohne count
info.
{
"data": [
{
"id": "[post_id]",
"from": {
"name": "[name]",
"id": "[id]"
},
"message": "[message]",
"created_time": "2011-01-23T02:36:23+0000"
},
{
"id": "[id]",
"from": {
"name": "[name]",
"id": "[id]"
},
"message": "[message]",
"created_time": "2011-01-23T05:16:56+0000"
}
]
}
Weiß jemand warum nur 2 Kommentare?
Außerdem möchte ich Kommentare abrufen (Standardnummer) oder Kommentare mit meiner Begrenzungsnummer abrufen und deren Kommentare zählen. Irgendeine Idee? (Bitte Graph API verwenden).
Sie müssen es von einer sicheren Anfrage https
aus aufrufen und einen access_token
angeben:
https://graph.facebook.com/19292868552_118464504835613/comments?access_token=XXX
EDIT:
Objekt aus dem post
Dokument hinzugefügt. Klicken Sie auf die comments
-Verbindung und entfernen Sie den access_token
. Versuchen Sie, den Unterschied zu erkennen.
Um die Like
-Zählung und die comment
-Zählung abzurufen, müssen Sie eine Kombination aus PostOwnerID
und PostID
verwenden, nicht nur die PostID
.
Für Ihr Beispiel wäre es also:
https://graph.facebook.com/153125724720582_184234384932460/comments
Wie in einigen anderen Antworten erwähnt, müssen Sie die https
-Methode zusammen mit einem auth_token
verwenden.
Ich habe das gleiche Problem mit Kommentaren erfahren. Das Problem war, dass ich ein Zugriffstoken für einen Testbenutzer verwendete. Da Testbenutzer keinen Zugriff auf Informationen anderer FB-Benutzer haben, wurden nur die Kommentare von Seiten angezeigt.
Es gibt ein Wort JUGAAR in Urdu, das bedeutet, einen Ausweg zu finden, nur um die Arbeit zu erledigen. Also für den gleichen Zweck habe ich diesen JUGAAR gemacht, ich hoffe es hilft.
$contents = file_get_contents("http://graph.facebook.com/" . $_GET['id'] . "/likes");
if (substr_count($contents, 'name')>0) {
echo substr_count($contents, 'name') . " people like this album";
}
Ich bin übrigens auch neu bei diesem Fb-Zeug, ich suche Hilfe, um Kommentare zu posten. Wenn ich versuche, graph.api./id/comments?access_token=sdfsfsdf&message="D "zu verwenden, werden immer noch Kommentare für die ID zurückgegeben, statt zu posten.
Besitzen Sie als Berechtigungsprüfung die Berechtigung "read_stream"? Ich kann die vollständigen Kommentare mit meinem Zugriffstoken anzeigen, das "read_stream" verwendet. Wie von anderen Leuten erwähnt, müssen Sie auch https und Zugriffstoken verwenden ...
Nach erfolgreichem Login diese Methode aufrufen facebookComments ()
parameters.putString ("Felder", "Nachricht"); .............// Es ist wichtig
AccessToken accessToken = AccessToken.getCurrentAccessToken();
public void facebookComments() {
try {
getFriends(accessToken, new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
Log.e("keshav", "one" + response);
CommonMethod.showAlert("res --> " + response, MainActivity.this);
}
}
);
} catch (Exception e) {
CommonMethod.showAlert("Exception is -> " + e, MainActivity.this);
}
}
public void getFriends(AccessToken token, GraphRequest.Callback callback)
{
// TODO Comments Working but id return only
GraphRequest requestt = new GraphRequest(token, "744511125731315_751199848395776/comments",
null, HttpMethod.GET, callback);
Bundle parameters = new Bundle();
parameters.putString("fields", "id"); // todo in use imp
parameters.putString("fields", "name"); // todo in use imp
parameters.putString("fields", "from"); // todo in use imp
parameters.putString("fields", "message"); // todo in use imp
requestt.setParameters(parameters);
requestt.executeAsync();
}
Es ergeben sich nur 2 von 15 Kommentaren
Fügen Sie der URL einen Grenzparameter hinzu:
http://graph.facebook.com/[post_id]/comments?limit=1000
Dies sollte alle Kommentare zeigen.
SELECT comments FROM stream WHERE post_id = [IhrePost-ID] sollte in diesem Fall nicht funktionieren.
die ID, die zurückgegeben wird, nachdem ein Graph aufgerufen wurde, um auf der Pinnwand eines Benutzers zu posten (mithilfe von access_token einer Anwendung), hat die Form abcdef_qwerty (unterstrichene separate ID) Kommentartabelle hat die Form "lmnop" ..
um die Anzahl der Like-Kommentare und Kommentare zu dieser Beitrags-ID des Formulars "abcdef_qwerty" abzurufen, ist das Aufrufen eines Diagramms mit der von der App generierten Zugriffstoken die einzige Lösung.
etwas wie: https://graph.facebook.com/100002619172565_117323155031656?access_token=xxxxxxxxxxxxx
Versuchen Sie, sich über App Login (http://developers.facebook.com/docs/authentication) zu authentifizieren und anschließend GraphAPI mit access_token -Parameter aufzurufen.
Sie können so etwas tun, um die ganze Anzahl von Kommentaren zu vermeiden:
Dies führt zu allen Kommentaren für dieses Objekt.
Um die Anzahl der Kommentare pro Objekt zu ermitteln, können Sie eine fql-Abfrage ausführen, etwa wie folgt:
SELECT comments FROM stream WHERE post_id = [yourpostid]
Dies gibt im comments -Array unter dem count -Parameter die Anzahl der Zählungen für dieses Objekt zurück.