使用Facebook SDK提取朋友信息(不仅仅是名称或ID)

时间:2014-05-23 03:26:47

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

我正在使用FB SDK v.3.2.3,我正在尝试检索朋友要去的事件。到目前为止,我的代码可以检索使用我的应用程序的朋友列表。关于FB的文档说明事件可以通过使用“我/事件”来拉出,但由于我想要拉我朋友的事件,我使用“我/朋友/事件”或“我/朋友?字段=事件”,但它仍然无效。有人对此有所了解吗?以下是我的代码 -

<pre>
  require_once('facebook.php');

  $config = array(
    'appId' => 'xxx',
    'secret' => 'xxx'
  );

  $facebook = new Facebook($config);

  $user_id = $facebook->getUser();

     if($user_id) {
         try {

        $user_profile = $facebook->api('/me','GET');
        echo "<pre>";
        print_r($user_profile);
        echo "</pre>";

          $dost = $facebook->api('/me/friends','GET');

            foreach ($dost as $friend) {
          echo "<pre>";
         print_r($friend);
         echo "</pre>";
       }

        echo '<br><a href=' . $facebook->destroySession() . '>Logout</a>';

      } catch(FacebookApiException $e) { }   

    } else {

    $params = array(
        'scope' => 'public_profile, user_friends, email',
        'redirect_url' => 'http://xxxxx.com',
        'auto_logout_link' => 'true',
        'show_faces' => 'true'

       );
      $login_url = $facebook->getLoginUrl($params);
      echo 'Please <a href="' . $login_url . '">login.</a>';

    }

2 个答案:

答案 0 :(得分:0)

试一试:

//...
$dost = $facebook->api('/me/friends','GET');

foreach ($dost["data"] as $value) {  
   $friend_id = $value['id'];
   $events = $facebook->api('/'.$friend_id.'/events'); 
   print_r($events);    
}
//...  

答案 1 :(得分:0)

Facebook更改了朋友的隐私政策 - 您的朋友也需要授予您的应用

的权限