我如何获得Facebook用户名?

时间:2014-08-23 17:06:54

标签: php facebook facebook-graph-api sdk username

我是一个完全Facebook新手开发者。这是我使用的sdk版本:click。这是登录部分:

<?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> ';

?>

这是我想获得有关用户的一些信息的部分:

<?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."'>";
    }
?>

这是您看到结果的网址link。所以我的问题是如何获得用户名?在var转储的结果中没有用户名。

1 个答案:

答案 0 :(得分:1)

自v2.0起,用户名不再包含在结果中,您可以在Facebook文档中看到:https://developers.facebook.com/docs/graph-api/reference/v2.1/user

否则,App Scoped ID将毫无意义,而且它们也带有v2.0。应用程序无法访问&#34;真正的&#34;用户的个人资料。

您应该可以使用App Scoped ID来显示用户图片:

echo '<img src="https://graph.facebook.com/'.$fbid.'/picture?width=121&height=100" />';
不过,我建议将新的PHP SDK(4.x)用于新的应用程序。