如何使用PHP检索Facebook应用用户朋友列表及其详细信息

时间:2014-09-29 04:19:02

标签: php json facebook-graph-api

我正在开发社交媒体网络应用程序我想获取应用程序用户朋友列表和他们的细节我试图使用PHP sdk 4.0检索用户朋友数据但它给了我一个空数组然后我尝试使用json格式获取数据。这是我正在尝试的代码

<?php
         $fb_config = array(
             'appId' => 'xxxxxxxxxxxx',
             'secret' => 'xxxxxxxxxxxxxxxxx',
             'cookie' => TRUE
         );
         $this->load->library('facebook', $fb_config);
         $user = $this->facebook->getUser();

         if ($user) {
             try {
                 $data['user_profile'] = $this->facebook->api('/me');
             } catch (FacebookApiException $e) {
                 $user = null;
             }
         }

         if ($user) { //ok, the user exist, proceed
             $access_token = $this->facebook->getAccessToken();

             $file = file_get_contents('https://graph.facebook.com/me/friends?access_token=' . $access_token);


             $jsonFriends = json_decode($file, true);
             $Friends = $jsonFriends['data'];
         }
 ?>

我正在

  

致命错误:在第7行的M:\ xampp \ htdocs \ fb \ demo.php中不在对象上下文中时使用$ this

运行此代码时出现此错误。

1 个答案:

答案 0 :(得分:0)

你需要改变

 $this->load->library('facebook', $fb_config);

  FacebookSession::setDefaultApplication('YOUR_APP_ID', 'YOUR_APP_SECRET');

作为开始。

此数组通常用于JavaScript SDK

$fb_config = array(
         'appId' => 'xxxxxxxxxxxx',
         'secret' => 'xxxxxxxxxxxxxxxxx',
         'cookie' => TRUE
     );

从哪里获得访问令牌或会话。

你使用JS sdk的另一个页面了吗?因为我找不到“FacebookRedirectLoginHelper”或“FacebookJavaScriptLoginHelper”的实例。

我真的建议您首先浏览facebook的文档:

https://developers.facebook.com/docs/php/gettingstarted/4.0.0