我能够成功地授权我的画布应用程序使用这段代码,但我只能获得用户id。我需要用户名,年龄的朋友名单也。请帮帮我。
我使用Print_r得到这个
Array ( [algorithm] => HMAC-SHA256 [expires] => 1366020000 [issued_at] => 1366012878 [oauth_token] => BAAFaFlrFWXYBADDEIui8rTtcEWldiZAGlHZB1mGSZoQ6E9fU9vkweYnx2jvj4SSDNRUd465YcAiz4hI3jlQlXLBmB0jVXZBeoAiSyO5P2TQoIQVt9SQRWVJEuTGtcyQzazZCi20MWhDqBsa1qgYWKloSRWOkKBdPDBZCI0exZA13Jygh73hsr9ldVvFy8ClgEb8jIZBblCArGT3lb7g [user] => Array ( [country] => pk [locale] => en_US [age] => Array ( [min] => 21 ) ) [user_id] => 100000
PHp代码 $app_id = " xxxxxxxxx";
$canvas_page = "xxxxxxxx";
$auth_url = "http://www.facebook.com/dialog/oauth?client_id=" . $app_id . "&redirect_uri=" . urlencode($canvas_page);
$signed_request = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), TRUE);
if(empty($data["user_id"])) {
echo("<script> top.location.href='" . $auth_url . "'</script>");
} else {
print_r($data) ;
echo ("Welcome User: " . $data["user_id"]);
echo ("Welcome User: " . $data["age"]); //i tried this,but got undefined message?
}
您需要执行API请求或使用FQL来获取有关用户的更多信息。http://developers.facebook.com/docs/reference/php/facebook-api/提供了一些示例,向您展示了如何使用API方法获取用户名。这是FriendsList的API文档,这是FQL文档。确保您拥有read_friendlists权限。如果你有任何问题,请告诉我:)
示例代码:
按照http://developers.facebook.com/docs/reference/php/的说明从https://github.com/facebook/facebook-php-sdk/安装PHP SDK。
然后转到http://developers.facebook.com/docs/reference/php/facebook-api/并将第一个示例复制到一个文件中。确保更新app id, app secret,并将require_once设置为正确的位置。
取代
try {
$user_profile = $facebook->api('/me','GET');
echo "Name: " . $user_profile['name'];
try {
//Get User Name
$user_profile = $facebook->api('/me','GET');
//Get User's Friends
$friends_list = $facebook->api('/me/friends', 'GET');
echo "<h1>Name: " . $user_profile['name']."</h1>";
echo "<h2>Friends:</h2>";
foreach ($friends_list['data'] as $friend)
{
echo $friend['name']."<br>";
}
你可以在发送签名请求的Graph API中访问用户端点,例如查询https://graph.facebook.com/me?fields=id,name将为您提供已验证用户的用户名。看到http://developers.facebook.com/docs/reference/api/user/供参考。
我建议你使用Facebook PHP SDK你可以从github上得到它,它使事情变得更容易。我相信它有一个基本的例子,可以做你想要的。
HTH