Récupérer le nombre de j'aime et de tweet d'une url en PHP
Il peut être intéressant de récupérer le nombre de fois qu'une url a été partagée sur Twitter ou le nombre de fois où elle a été "aimée" sur Facebook. Sachez qu'il est plutôt facile d'obtenir ces informations et de les récupérer à l'aide d'un script PHP.
Twitter : Récupérer le nombre de fois qu'une url a été partagée :
Twitter fournis dans son api pour développeur une url retournant ce résultat au format JSon.
L'url en question est la suivante : http://urls.api.twitter.com/1/urls/count.json?url=[URL]
L'argument [URL] étant l'adresse de la page pour laquelle vous souhaitez obtenir les informations.
Le résultat sera comme dit plus haut au format JSon, de la forme suivante :
{"count":19466950,"url":"http://www.google.com/"}
Voici une fonction simple permettant la récupération de la valeur en PHP :
function getCountTwitter($page) { $url = "http://urls.api.twitter.com/1/urls/count.json?url=".urlencode($page); $data = json_decode(file_get_contents($url)); if(!isset($data->count)){ return 'erreur'; } return $data->count; }
La fonction retournera donc le nombre de fois où l'url ($page) a été citée dans un tweet, ou "erreur" en cas d'erreur.
Facebook : Récupérer le nombre de "J'aime" d'une page :
Comme pour Twitter, Facebook fournis dans son api une url permettant d'obtenir ces informations.
L'url est donc : https://api.facebook.com/method/links.getStats?urls=[URL]&format=json
Le résultat sera lui aussi au format JSon et de la forme suivante :
[{"url":"http://www.google.com/","normalized_url":"http://www.google.com/","share_count":5375040,"like_count":1368662,"comment_count":1727801,"total_count":8471503,"click_count":265614,"comments_fbid":381702034999,"commentsbox_count":841}]
Ici on obtient davantage d'informations. Je ne détaillerais pas, les noms sont assez explicites.
Ce qui nous intéresse nous c'est de récupérer le nombre de "j'aime", voici donc une fonction PHP permettant d'extraire cette valeur :
function getCountLikeFacebook($page) { $url = "https://api.facebook.com/method/links.getStats?urls=".urlencode($page)."&format=json"; $data = json_decode(file_get_contents($url)); if(!isset($data[0]->like_count)){ return 'erreur'; } return $data[0]->like_count; }
Catégories : PHP
Par Guillaume le 24/02/2014 à 02:09