web-dev-qa-db-fra.com

Comment obtenir le nombre de partages à l'aide de l'API graphique

Je peux obtenir le nombre de partages d'une URL à l'aide de PHP SDK et de l'API restante obsolète, mais je n'ai pas trouvé le moyen d'obtenir le nombre de partages d'une URL à l'aide de l'API graphique.

Y a-t-il un moyen de le savoir?

136
Ashish Pethkar
270
chandrajeet

UPDATE - avril '15:

Si vous souhaitez obtenir le nombre disponible dans le bouton J'aime, vous devez utiliser le champ engagement de l'objet _og_object_, comme suit:

_https://graph.facebook.com/v2.2/?id=http://www.MY-LINK.com&fields=og_object{engagement}&access_token=<access_token>
_

Résultat:

_{
  "og_object": {
    "engagement": {
      "count": 93, 
      "social_sentence": "93 people like this."
    }, 
    "id": "801998203216179"
  }, 
  "id": "http://techcrunch.com/2015/04/06/they-should-have-announced-at-420/"
}
_

C'est possible avec l'API Graph, utilisez simplement:

_http://graph.facebook.com/?id=YOUR_URL
_

quelque chose comme:

_http://graph.facebook.com/?id=http://www.google.com
_

Retournerais:

_{
   "id": "http://www.google.com",
   "shares": 1163912
}
_

UPDATE: alors que ce qui précède indiquerait comment obtenir le nombre share . Ce nombre est pas égal à celui que vous voyez sur le bouton similaire , car ce nombre est la somme de:

  • Le nombre de goûts de cette URL
  • Le nombre de partages de cette URL (ceci inclut le copier/coller d'un lien vers Facebook)
  • Le nombre de likes et de commentaires sur les articles sur Facebook à propos de cette URL
  • Nombre de messages de la boîte de réception contenant cette URL en pièce jointe.

Il est donc possible d'obtenir le numéro de bouton J'aime avec l'API Graph via le point final fql (le tableau link_stat ):

_https://graph.facebook.com/fql?q=SELECT url, normalized_url, share_count, like_count, comment_count, total_count,commentsbox_count, comments_fbid, click_count FROM link_stat WHERE url='http://www.google.com'
_

_total_count_ est le numéro indiqué dans le bouton J'aime.

200
ifaour

Vous ne devriez pas utiliser graphique api. Si vous appelez soit:

ou

les deux reviendront:

{
  "id": "http://www.Apple.com",
  "shares": 1146997
}

Mais le nombre indiqué est la somme de :

  • nombre de goûts de cette URL
  • nombre d'actions de cette URL (ceci inclut le copier/coller d'un lien vers Facebook)
  • nombre de mentions J'aime et de commentaires sur des articles sur Facebook concernant cette URL
  • nombre de messages de la boîte de réception contenant cette URL en pièce jointe.

Donc, vous devez utiliser FQL.
Regardez cette réponse: Comment récupérer les goûts de Facebook, les partager, les commentaires d’un article

21
freedev

Après le 7 août 2016, vous pouvez toujours passer votre appel comme ceci:

http://graph.facebook.com/?id=https://www.Apple.com/

mais le format de réponse va être différent: ce ne sera pas

{
  "id": "http://www.Apple.com",
  "shares": 1146997
}

mais à la place ce sera

{
   "og_object": {
      "id": "388265801869",
      "description": "Get a first look at iPhone 7, Apple Watch Series 2, and the new AirPods \u2014 the future of wireless headphones. Visit the site to learn more.",
      "title": "Apple",
      "type": "website",
      "updated_time": "2016-09-20T08:21:03+0000"
   },
   "share": {
      "comment_count": 1,
      "share_count": 1094227
   },
   "id": "https://www.Apple.com"
}

Donc, vous devrez traiter la réponse comme ceci:

reponse_variable.share.share_count
14
Giorgio Tempesta

Ce que j'ai trouvé utile et que j'ai trouvé sur un lien ci-dessus est cette requête FQL dans laquelle vous demandez des préférences, un total, un partage et un nombre de clics sur un lien en consultant la table link_stat.

https://graph.facebook.com/fql?q=SELECT%20like_count,%20total_count,%20share_count,%20click_count,%20comment_count%20FROM%20link_stat%20WHERE%20url%20=%20%22http://google.com%22

Cela produira quelque chose comme ceci:

{
    data: [
        {
             like_count: 3440162,
             total_count: 13226503,
             share_count: 7732740,
             click_count: 265614,
             comment_count: 2053601
         }
    ]
}
8
Juanjo Lainez Reche

Départ ce Gist . Il contient des extraits permettant d’obtenir le nombre de partages pour les services suivants:

  • Facebook
  • Twitter
  • Google Plus
  • Pinterest
  • LinkedIn
  • Trébuché sur
7
Muhammad Reda

Le bouton "J'aime" de Facebook fait deux choses que l'API ne fait pas. Cela pourrait créer une confusion lorsque vous comparez les deux.

  1. Si l'URL que vous utilisez dans votre bouton J'aime a une redirection, le bouton indiquera en réalité le nombre d'URL de redirection par rapport au nombre d'URL que vous utilisez.

  2. Si la page a une propriété og: url, le bouton "J'aime" indiquera les préférences de cette URL au lieu de celle du navigateur.

J'espère que cela aide quelqu'un

4
Roland

Tapez simplement https://graph.facebook.com/?fields=share&id=https://www.example.com et remplacez exemple par votre URL ou la page que vous recherchez.

Exemple de Google: https://graph.facebook.com/?fields=share&id=https://www.google.com

3
Nate Beers

quand j’ai utilisé FQL, j’ai trouvé le problème (mais c’est toujours le cas). La documentation indique que le nombre indiqué est la somme de:

  • nombre de goûts de cette URL
  • nombre d'actions de cette URL (ceci inclut le copier/coller d'un lien vers Facebook)
  • nombre de mentions J'aime et de commentaires sur des articles sur Facebook concernant cette URL
  • nombre de messages de la boîte de réception contenant cette URL en pièce jointe.

mais sur mon site le nombre indiqué est la somme de ces 4 chefs + nombre d'actions (encore)

1
Aziz

En utilisant FQL, vous pouvez le faire:

http://graph.facebook.com/fql?q=SELECT url, total_count FROM link_stat WHERE url='PASTE_YOUR_URL_HERE'
1
totas

Il y a un joyau Ruby - SocialShares

Actuellement, il prend en charge les réseaux sociaux suivants:

  • facebook
  • Twitter
  • google Plus
  • reddit
  • linkedin
  • pinterest
  • stumbleupon
  • vkontakte
  • mail.ru
  • odnoklassniki

Usage:

:000 > url = 'http://www.Apple.com/'
  => "http://www.Apple.com/"
:000 > SocialShares.facebook url
  => 394927
:000 > SocialShares.google url
  => 28289
:000 > SocialShares.Twitter url
  => 1164675
:000 > SocialShares.all url
  => {:vkontakte=>44, :facebook=>399027, :google=>28346, :Twitter=>1836, :mail_ru=>37, :odnoklassniki=>1, :reddit=>2361, :linkedin=>nil, :pinterest=>21011, :stumbleupon=>43035}
:000 > SocialShares.selected url, %w(facebook google linkedin)
  => {:facebook=>394927, :google=>28289, :linkedin=>nil}
:000 > SocialShares.total url, %w(facebook google)
  => 423216
:000 > SocialShares.has_any? url, %w(Twitter linkedin)
  => true
1
Timrael

Vous pouvez utiliser le https://graph.facebook.com/v3.0/ {Place_votre_Page_ID ici}/feed? Fields = id, actions, share_count & access_token = {Place_your_access_token_here} pour obtenir le nombre d'actions.

0
Gunta Vaishnavi