get shares count (posts facebook)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : get shares count (posts facebook)

Re: get shares count (posts facebook)

par fatiha » 12 juin 2015, 15:09

Merci!
Il me dis effectivement qu'il n'y a pas de data, mais quand j'utilise le graph API manuellement, il y a des shares sur les posts...
Donc je ne vois pas comment récupérer les infos.

Re: get shares count (posts facebook)

par @rthur » 12 juin 2015, 14:47

Il n'y a pas de 'data' dans ton tableau $feedarray.
Pour éviter le message de notice, tu peux faire un test avec isset($feedarray['data'])

Re: get shares count (posts facebook)

par fatiha » 12 juin 2015, 14:38

Super, j'ai fais le changement et je n'ai plus ce message d'erreur! Mais un autre :o)

( ! ) Notice: Undefined index: data in C:\wamp\www\Fatiha\Test_api_fcb\config\fonction.php on line 55
la ligne 55 dans mon code =

Code : Tout sélectionner

/*ligne 54 */ $feedarray = json_decode($json_object, true); /*ligne 55*/ return $likesNum = count($feedarray['data']); // return the number of items in `data` array
Merci pour ta réponse en tout cas

Re: get shares count (posts facebook)

par @rthur » 12 juin 2015, 14:19

Bonjour,

Le problème vient de là :
$json_object = fetchUrl('https://graph.facebook.com/'.$postId.'?fields=shares&access_token=$authToken');
Ta variable $authToken n'est pas interprétée car située dans des guillemets simples

Re: get shares count (posts facebook)

par fatiha » 12 juin 2015, 13:59

mon $authToken c'est mon acces Token, j'en ai besoin pour faire ma requête.
le &limit=5000 effectivement est de trop donc j'en ai pas trop besoins.

ma fonction getCount fonctionne avec les likes et les comments, mais pas avec les shares? je me demande pourquoi? Car d'après ce que je vois, ils sont au même niveau dans la configuration facebook.

Re: get shares count (posts facebook)

par tof73 » 12 juin 2015, 13:19

$authToken}&limit=5000
le } qui n'a rien à faire là ?

get shares count (posts facebook)

par fatiha » 12 juin 2015, 12:58

Bonjour,
J'essaye de récupérer le nombre de share d'un posts (facebook). J'arrive à récupérer les likes et les comments, mais pour les shares j'ai l'erreur suivante.

( ! ) Warning: file_get_contents(https://graph.facebook.com/115769411816 ... $authToken): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request in C:\wamp\www\Fatiha\Test_api_fcb\config\fonction.php on line 29

Voici le code pour les fonctions
function fetchUrl($url){
	 	if (!$data = file_get_contents($url)) {
      			$error = error_get_last();
      			echo "HTTP request failed. Error was: message" ;
		} else {
      			echo "Everything went better than expected  ";
      			return file_get_contents($url);
		}
	}

	function getCOunt($postId, $type){
		$authToken = $_SESSION['xxxxxxxx'];
		$json_object = fetchUrl("https://graph.facebook.com/".$postId."/".$type."?$authToken}&limit=5000"); 
		
        	$feedarray   = json_decode($json_object, true);
       		 return $likesNum = count($feedarray['data']); // return the number of items in `data` array
	}
	function getShare($postId){
		$authToken = $_SESSION['xxxx'];
		$json_object = fetchUrl('https://graph.facebook.com/'.$postId.'?fields=shares&access_token=$authToken');
        	$feedarray   = json_decode($json_object, true);
        	return $sharesNum = count($feedarray['data']); // return the number of items in `data` array
	}

Voici mon code pour l'affichage

Code : Tout sélectionner

try { $postsLikesCount = getCOunt($postId, 'likes'); echo '<b>Likes_count</b>: '.$postsLikesCount.'<br>'; $postsCommentCount = getCOunt($postId, 'comments'); echo '<b>Comment_count</b>: '.$postsCommentCount.'<br>'; echo getShare($postId,'shares'); } catch (Exception $e) { // Deal with it. echo "Error: " , $e->getMessage(); }
Merci d'avance pour votre aide!!
Fati