Frage

first of all I want to apologize if this has been answered or if there's already a useful link.

I have created a facebook app with secret and id, I've been through the authentification procedure as well. My aim is to get Insight Data of one of the user's pages. As you may see in the code, up to now I only made it to retrieve the user's name (with a little help of the facebook dev tutorial. So example question: How can I get the page likes of to be echoed by my code? Thank you very much in advance!

<?php 
session_start();

require "vendor/autoload.php";

use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
use Facebook\GraphSessionInfo;
use Facebook\GraphUser;

$appid = "numbers"; // my AppID
$secret = 'numbersandletters'; // my secret

//Session
FacebookSession::setDefaultApplication($appid ,$secret);

//Login
$helper = new FacebookRedirectLoginHelper(           'http://localhost:85/phplearning/facebook/facebook2.php' );

try {$session = $helper->getSessionFromRedirect();} 
catch( FacebookRequestException $ex ) {echo $ex;} 
catch( Exception $ex ) {echo $ex;}

// active session?
if( isset($_SESSION['token']))
{
$session = new FacebookSession($_SESSION['token']); 
try{$session->Validate($appid ,$secret);}
catch( FacebookAuthorizationException $ex)
{$session ='';}
}
if ( isset( $session ) ) 
{   
$_SESSION['token'] = $session->getToken();
 try {

     $user_profile = (new FacebookRequest(
     $session, 'GET', '/me'
     ))->execute()->getGraphObject(GraphUser::className());

     echo "Name: " . $user_profile->getName();

     } catch(FacebookRequestException $e) {

    echo "Exception occured, code: " . $e->getCode();
    echo " with message: " . $e->getMessage();

 } 
} 
else 
{

  echo '<a href="' . $helper->getLoginUrl() . '">Login</a>';
}
?>
War es hilfreich?

Lösung

If you want only the page likes, you'll need only this:

$data = file_get_contents('http://graph.facebook.com/facebook');
$data = json_decode($data);
echo $data['likes'];

Replace http://graph.facebook.com/facebook by the page id or username: example:

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top