Attila Naghi
Attila Naghi

Reputation: 2686

How do i get facebook usernames?

Im a totally facebook newbie developer.This is the sdk version that i use: click . This is the login part:

<?php 
    require '../src/facebook.php';

    $facebook = new Facebook(array(
      'appId'  => 'XXXXXXXXXXXXXXXX',
      'secret' => 'XXXXXXXXXXXXXXXXXx',
      'cookie' => true
    ));
?>

<?php
    $loginUrl = $facebook->getLoginUrl(array ( 
            'scope'     => 'email',
            'redirect_uri' => 'http://facebook.ebis-servicii.ro/mytest/test.php'
            ));

    $user = $facebook->getUser();
    echo '<a href = "'.$loginUrl.'">Login Here </a> ';

?>

And this is the part where I want to get some informations about the user:

<?php
    require '../src/facebook.php';
    $facebook = new Facebook(array(
          'appId'  => 'XXXXXXXXXXXXX',
          'secret' => 'XXXXXXXXXXXXX',
          'cookie' => true
        ));
    $user = $facebook->getUser();

    if ($user) {
        try{
            $user_profile = $facebook->api('/me');
            var_dump($user_profile);
            $fbid = $user_profile['id'];                 // To Get Facebook ID
            $fbuname = $user_profile['username'];  // To Get Facebook Username
            $fbfullname = $user_profile['name']; // To Get Facebook full name
            $femail = $user_profile['email'];    // To Get Facebook email ID
        }catch (FacebookApiException $e) {
            error_log($e);
            $user = null;
        }

        echo "FBID ".$fbid."<br>";
        echo "Email ".$femail."<br>";
        echo "Name ".$fbfullname."<br>";
        echo "Username ".$fbuname."<br>";

        echo "Facebook Picture:<br>";
        //echo '<img src="https://graph.facebook.com/'.$_SESSION["USERNAME"].'>;
        echo "<img src ='https://graph.facebook.com/".$fbuname."'>";
    }
?>

This is the url link where you see the results. So my question is how do I get the username? In the result of the var dump there is no username .

Upvotes: 0

Views: 386

Answers (1)

andyrandy
andyrandy

Reputation: 73984

Since v2.0, the username is not included in the result anymore, as you can see in the Facebook docs: https://developers.facebook.com/docs/graph-api/reference/v2.1/user

Else, the App Scoped IDs would be pointless, and they came with v2.0 too. Apps should not be able to get to the "real" profile of the users.

You should be able to use the App Scoped ID to show the user picture:

echo '<img src="https://graph.facebook.com/'.$fbid.'/picture?width=121&height=100" />';

Btw, i would suggest using the new PHP SDK (4.x) for new Apps.

Upvotes: 1

Related Questions