web-dev-qa-db-fra.com

Comment obtenir le nombre de likes lors de la recherche sur l'API Facebook Graph avec la recherche = xxx

J'utilise actuellement la recherche d'api de graphique Facebook pour rechercher des publications en tant que

http://graph.facebook.com/search?q=iWatch&type=post&access_token=xxxxx 

Il retourne dans les champs au format JSON et utilise pour inclure le comme: count pour une publication donnée.

Après avoir lu la feuille de route de développement ( https://developers.facebook.com/roadmap/ ) pour les modifications après le 10 juillet, je suis invité à utiliser le summary=true param mais je ne sais pas comment faire fonctionner cela avec la recherche?

Du blog de FB sur la feuille de route.

Suppression de "count" de la connexion à l'API Graph "comments" Nous supprimons le champ "count" non documenté de la connexion "comments" dans l'API Graph. Veuillez demander {id}/comments?summary=true explicitement si vous souhaitez le champ récapitulatif qui contient le nombre (maintenant appelé 'total_count')

J'ai essayé différentes combinaisons et recherché des exemples mais pas de dés. Quelqu'un peut-il me donner des conseils sur la façon de faire fonctionner le nouveau résumé = vrai dans une URL de recherche pour rechercher des publications?

37
Digby Norris

Impossible de trouver cela dans la documentation, mais plusieurs appels à l'API ne sont pas nécessaires. Vous pouvez utiliser le résumé lorsque vous interrogez un flux ou plusieurs publications. Spécifiez cela dans le paramètre champs.

https://graph.facebook.com/PAGE_ID/feed?fields=comments.limit(1).summary(true),likes.limit(1).summary(true)

Cela retournera une réponse comme celle-ci.

{
  "data": [
    {
      ....
      "summary": {
        "total_count": 56
      }
      ...
    }, 
    {
      ....
      "summary": {
        "total_count": 88
      }
      ...
    }
  ]
}

Ce sera beaucoup plus rapide que de faire des demandes individuelles pour chaque objet juste pour obtenir le nombre de commentaires ou de likes.

138
dvk

Vous pouvez également obtenir tous Messages> Commentaires> J'aime en une seule demande:

https://graph.facebook.com/<obj_id>/feed?fields=message,comments.limit(10).summary(true){message,from,likes.limit(0).summary(true)}

Les accolades sont requêtes imbriquées.

Cela donne le résultat suivant:

{
    "data": [
      {
        "message": "Contents of the Post"
        "id": "123456789123456789",
        "comments": {
        "data": [
          {
            "message": "Contents of the Comment",
            "from": {
                 "name": "John Doe",
                 "id": "123456789"
            },
            "likes": {
               "data": [],
               "summary": {
                  "total_count": 14,
                  "can_like": true,
                  "has_liked": false
               }
            },
       ...
20
Nicomak

Le résumé est sur la connexion likes de l'objet de publication

il suffit d'appeler

https://graph.facebook.com/POST_ID/likes?summary=true&access_token=XXXXXXXXXXXX

il y aura un élément 'résumé' avec un champ 'total_count'

9
Jon

Pour obtenir le nombre de likes de page, vous pouvez utiliser le champ fan_count.

search?q=xxx&fields=fan_count&type=page
7
Shush

Je construis ma requête API comme ceci, et cela me permet de récupérer une requête unique:

https://graph.facebook.com/PAGE_ID/feed?fields=comments.limit(25).summary(true),likes.limit(25).summary(true)
5

l'API a changé. le nouveau nom de champ est "nombre de fans".

https://graph.facebook.com/PAGE_ID?fields=fan_count

1
Pirkka Esko