Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Facebook SDK提取好友信息(不仅仅是姓名或ID)_Php_Facebook_Facebook Graph Api_Facebook Php Sdk - Fatal编程技术网

Php 使用Facebook SDK提取好友信息(不仅仅是姓名或ID)

Php 使用Facebook SDK提取好友信息(不仅仅是姓名或ID),php,facebook,facebook-graph-api,facebook-php-sdk,Php,Facebook,Facebook Graph Api,Facebook Php Sdk,我正在使用FB SDK v.3.2.3,我正在尝试检索我的朋友将要参加的活动。到目前为止,我的代码可以检索使用我的应用程序的朋友列表。FB上的文档告诉我们可以使用me/events来提取事件,但是因为我想提取我朋友的事件,所以我使用me/friends/event或me/friends?fields=event,但它仍然不起作用。有人对此有想法吗?下面是我的代码- <pre> require_once('facebook.php'); $config = array(

我正在使用FB SDK v.3.2.3,我正在尝试检索我的朋友将要参加的活动。到目前为止,我的代码可以检索使用我的应用程序的朋友列表。FB上的文档告诉我们可以使用me/events来提取事件,但是因为我想提取我朋友的事件,所以我使用me/friends/event或me/friends?fields=event,但它仍然不起作用。有人对此有想法吗?下面是我的代码-

<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>';

    }
试试看:


Facebook更改了好友的隐私政策-您的好友还需要使用好友的访问令牌授予您的应用程序权限

使用/me/events或使用/{userid}/events最有可能是不允许访问令牌查看他们。尝试使用friends访问令牌当用户登录时,您必须存储访问令牌。这将返回一组空白数组。。这是输出数组[数据]=>数组---有线索吗?是的,我的朋友确实在他们的日程表中有活动是的,我知道这一点,事实上我已经在上面的代码中请求了许可:唯一的问题是我无法从代码中提取我的朋友事件列表!
//...
$dost = $facebook->api('/me/friends','GET');

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