facebook应用程序:过生日

时间:2012-12-10 15:05:52

标签: facebook

我想知道如何获取facebook用户的生日日期。 这是处理facebook api的代码:

<?php require 'src/facebook.php';
define("FB_APP_ID","***");
define("FB_SECRET","***");
$facebook = new Facebook(array(
  'appId'  => FB_APP_ID,
  'secret' => FB_SECRET,
  'cookie' => true, 
));
$currentUser = $facebook->getUser();
if($currentUser) {
try
{
    $facebook_profile = $facebook->api('/me');
    $friends_fields = $facebook->api('/me/friends');
}
catch (FacebookApiException $e)
{
    print_r($e);
    $user = null;
}
}


$loginUrl = $facebook->getLoginUrl(
array(
    'scope' => 'user_birthday, birthday, date_birthday, email, offline_access, publish_stream'
)
);
$logoutUrl  = $facebook->getLogoutUrl();
?>

我试过$ facebook_profile ['user_birthday']和$ facebook_profile ['birthday'] 但它不起作用。

我不知道该怎么办?你能帮我吗 ?

2 个答案:

答案 0 :(得分:0)

可能有多种方法可以实现,但您应该可以通过the SDK api() method通过FQL调用获取用户的生日:

$result = $facebook->api(array(
    'method' => 'fql.query',
    'query' => 'SELECT birthday_date FROM user WHERE uid = me()',
));

$birthday = $result[0]['birthday_date'];

您需要拥有user_birthdayfriends_birthday权限才能阅读birthdaybirthday_date字段。

答案 1 :(得分:0)

正确的生日许可为user_birthday

确认您拥有权限

$permissions = $facebook->api('/me/permissions');
$permissions["data"][0]["user_birthday"];

看到你有facebook_profile,你应该只是转储该回复的内容,看看你有什么。

同时确保用户 设置他/她的生日......