用facebook api获取朋友生日的问题

时间:2011-02-09 11:43:36

标签: php facebook-graph-api

这是代码,它应该可以回复今天对应的朋友的生日。

$friends = $facebook->api('me/friends');
$uids = "";

foreach($friends as $f) {
  $uids .= "uid=$f OR ";
}

$query_uids = substr($uids,0,strlen($query_uids)-4);
date_default_timezone_set('UTC');
$current_date = date("m/d");
echo "<br />searching : $current_date<br />";

$data = $facebook->api(array('method'=>'fql.query','req_perms' => 'friends_birthday','query'=>"SELECT name, uid FROM user WHERE ( ($query_uids) AND strpos(birthday_date,'$current_date') >= 0 )") );

if(count($data) > 0) {
  foreach($data as $d) {
    print_r($d);
  }
} else {
 echo "<br />No Birthdays Today<br />";
 }

在我的页面中,我有另一个脚本来回复用户朋友,并且它正常工作, 这个片段显示的结果是搜索和白色空间!!!!

请帮忙 感谢

1 个答案:

答案 0 :(得分:0)

当你的意思是获得与今天相对应的朋友生日时 - 我假设你想知道你的朋友今天是否有生日。

1)首先,你必须得到今天的日期:

$today = date('m\/d');

2)第二次使用此日期,我们将运行查询以选择您今天生日的所有朋友

$data = $facebook->api(array(
    'method'    =>'fql.query',
    'req_perms' => 'friends_birthday',
    'query'     => "select uid,name,birthday_date from user where uid in (select uid2 from friend where uid1=me()) and strpos(birthday_date,$today)>=0 ") );

3)接下来检查数据集的大小,如果它是零 - 今天没有生日,否则你遍历数据集并打印今天生日的朋友名称。

if(count($data)==0)
{
   echo 'No Friends Birthdays today';
}
else
{
    echo 'Friends whose birthday is today';
    foreach($data as $today_bday) {
        echo $today_bday['name'];
    }
}

如果这不是你想要的 - 请告诉我。