我是一个完全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转储的结果中没有用户名。
答案 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)用于新的应用程序。