J'ai essayé d'obtenir des commentaires sur Facebook en utilisant:
http://graph.facebook.com/[post_id]/comments
Il en résulte que 2 des 15 commentaires, et sans 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"
}
]
}
Quelqu'un sait pourquoi seulement 2 commentaires?
De plus, je souhaite récupérer des commentaires (numéro par défaut) ou des commentaires avec mon nombre limite et obtenir le nombre de commentaires. Une idée? (S'il vous plaît utiliser Graph API).
Vous devez l'appeler à partir d'une requête sécurisée https
et fournir un access_token
:
https://graph.facebook.com/19292868552_118464504835613/comments?access_token=XXX
MODIFIER:
Ajouté l’objet du post
document. essayez de cliquer sur la connexion comments
puis supprimez le access_token
et essayez de voir la différence.
Pour obtenir le nombre Like
et le comment
, vous devez utiliser une combinaison du PostOwnerID
et du PostID
et pas seulement du PostID
.
Donc, pour votre exemple, ce serait:
https://graph.facebook.com/153125724720582_184234384932460/comments
Encore une fois, comme mentionné dans certaines des autres réponses, vous devez utiliser la méthode https
avec un auth_token
J'ai eu le même problème avec les commentaires. Le problème était que j'utilisais un jeton d'accès pour un utilisateur test. Les utilisateurs du test n'ayant pas accès aux informations des autres utilisateurs du FB, seuls les commentaires des pages ont été affichés.
Il y a un Word JUGAAR en ourdou qui signifie, trouver un moyen de sortir, juste pour faire le travail. Donc, dans le même but, j’ai réalisé ce JUGAAR, j’espère que cela aidera.
$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";
}
En passant, je suis également novice dans ce domaine Fb, je cherche de l'aide pour poster des commentaires. Lorsque j'essaie d'utiliser graph.api./id/comments?access_token=sdfsfsdf&message="D "il renvoie toujours des commentaires pour l'id au lieu de les poster.
En tant que vérification d'intégrité, avez-vous l'autorisation "read_stream"? Je peux voir les commentaires complets avec mon jeton d'accès qui utilise "read_stream". Comme mentionné par d'autres personnes, vous devez également utiliser https et le jeton d'accès ...
Après la connexion réussie, appelez cette méthode facebookComments ()
parameters.putString ("champs", "message"); .............// C'est important
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();
}
Il résulte seulement 2 de 15 commentaires
Ajoutez un paramètre de limite à l'URL:
http://graph.facebook.com/[post_id]/comments?limit=1000
Cela devrait montrer tous les commentaires.
SELECT commentaires from stream WHERE post_id = [votre_postide] ne fonctionnera pas dans ce cas ..
l'identifiant qui est renvoyé après avoir passé un appel de graphe à publier sur le mur d'un utilisateur (à l'aide de access_token d'une application) est de la forme abcdef_qwerty (identificateur de soulignement séparé) Le tableau de commentaires est de la forme "lmnop".
pour obtenir le nombre de "like" et les commentaires sur cet article "id de la forme" abcdef_qwerty "faisant un appel de graphe avec le jeton d'accès généré par l'application semble être la seule solution.
quelque chose comme: https://graph.facebook.com/100002619172565_117323155031656?access_token=xxxxxxxxxxxxx
Essayez de vous authentifier via App Login (http://developers.facebook.com/docs/authentication), puis appelez GraphAPI avec le paramètre access_token.
Vous pouvez faire quelque chose comme ceci pour éviter le nombre total de problèmes de commentaires:
Cela entraînera tous les commentaires pour cet objet.
Pour obtenir le nombre de commentaires par objet, vous pouvez exécuter une requête fql , quelque chose comme ceci:
SELECT comments FROM stream WHERE post_id = [yourpostid]
Cela retournera dans le tableau comments sous le paramètre count le nombre de comptes pour cet objet.