Question

i have made a web server in php, it receives the facebook userAccessToken by my webApp and it checks if it's valid, i want get the basic info about that user but i don't find a way to do this. Someone can help me?

Was it helpful?

Solution

    <?php
      require_once('php-sdk/facebook.php');

      $config = array(
        'appId' => 'YOUR_APP_ID',
        'secret' => 'YOUR_APP_SECRET',
        'allowSignedRequest' => false // optional but should be set to false for non-canvas apps
      );

      $facebook = new Facebook($config);
      $user_id = $facebook->getUser();
    ?>

<html>
  <head></head>
  <body>



    <?php
        if($user_id) {

          // We have a user ID, so probably a logged in user.
          // If not, we'll get an exception, which we handle below.
          try {

            $user_profile = $facebook->api('/me','GET');
            echo "Name: " . $user_profile['name'];

          } catch(FacebookApiException $e) {
            // If the user is logged out, you can have a 
            // user ID even though the access token is invalid.
            // In this case, we'll get an exception, so we'll
            // just ask the user to login again here.
            $login_url = $facebook->getLoginUrl(); 
            echo 'Please <a href="' . $login_url . '">login.</a>';
            error_log($e->getType());
            error_log($e->getMessage());
          }   
        } else {

          // No user, print a link for the user to login
          $login_url = $facebook->getLoginUrl();
          echo 'Please <a href="' . $login_url . '">login.</a>';

        }

      ?>

  </body>
</html>

Once you are logged in use this command to retrieve user data array:

$user_profile = $facebook->api('/me','GET');

Or you can use this to get user by ID (other user)

$user_profile = $facebook->api('userID','GET');

Everything you need you can find here:

https://developers.facebook.com/docs/reference/php/
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top