Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.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 graph api获取特定id后的好友_Php_Facebook - Fatal编程技术网

Php 使用facebook graph api获取特定id后的好友

Php 使用facebook graph api获取特定id后的好友,php,facebook,Php,Facebook,我正在使用facebook graph api获取我朋友的详细信息。我想在一个特定的用户id之后获得我朋友的详细信息,例如我有4个朋友 uid name 1 Rob 2 Ryan 3 Bob 4 Angelina 现在我想在用户id 2之后获得我朋友的详细信息,即用户id 3和4,依此类推 我使用了下面的图形搜索查询 $url = 'https://graph.facebook.com/'.$user.'/friends?uid

我正在使用facebook graph api获取我朋友的详细信息。我想在一个特定的用户id之后获得我朋友的详细信息,例如我有4个朋友

uid     name

1       Rob

2       Ryan

3       Bob

4       Angelina 
现在我想在用户id 2之后获得我朋友的详细信息,即用户id 3和4,依此类推

我使用了下面的图形搜索查询

$url = 'https://graph.facebook.com/'.$user.'/friends?uid>=2';
但它似乎不起作用。我搜索了很多,但没有找到任何信息。有一个限制选项,但没有执行我想要的选项。有什么帮助吗?下面是我的全部代码

 function getFacebookFriends_more($criteria='') {
$name = $criteria['name'];
$load_me_more_id = $criteria['load_more_id'];

if($name=='') $name = 'me';

$url = 'https://graph.facebook.com/'.$name.'/friends?uid>='.$load_me_more_id.'fields=gender,name&access_token='.$this->getAccessToken();
$content = $this->getDataFromUrl($url);
$content = json_decode($content,true);

$users = $this->formatFacebookUsers_more($content,$load_me_more_id);

return $users;
  }

     function formatFacebookUsers_more($content,$load_me_more_id) {


   for($i=0; $i<count($content['data']); $i++) {

    $id = $content['data'][$i]['id'];
    $name = $content['data'][$i]['name'];
    $gender = $content['data'][$i]['gender'];
    $url = 'http://www.facebook.com/profile.php?id='.$id;
    $picture = 'https://graph.facebook.com/'.$id.'/picture?type=large'; //square, small, large


    $users[$i]['id'] = $id;
    $users[$i]['name'] = $name;
    $users[$i]['picture'] = $picture;
    $users[$i]['url'] = $url;
    $users[$i]['gender'] = $gender;

}
return $users;
函数getFacebookFriends\u more($criteria=''){ $name=$criteria['name']; $load_me_more_id=$criteria['load_more_id']; 如果($name='')$name='me'; $url='1https://graph.facebook.com/“.$name./friends?uid>=”.$load\u me\u more\u id.“字段=性别、名称和访问令牌=”。$this->getAccessToken(); $content=$this->getDataFromUrl($url); $content=json_decode($content,true); $users=$this->formatFacebookUsers\u more($content,$load\u me\u more\u id); 返回$users; } 函数格式FaceBookUsers\u more($content,$load\u me\u more\u id){
对于($i=0;$i而言,这是不可能的,因为此人不会让facebook上的每个用户都成为他的朋友

(即)一个人的好友列表中可能有user3,但不是user4,而是user5

您需要将所有好友UID存储在一个数组中,然后对其进行迭代

假设您有一个授权会话

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

现在在朋友数组上迭代

让我粘贴我的完整代码我存储了它,但它似乎仍然不起作用我粘贴了完整的代码你能看一下并指导我吗你不能在
$url=”中使用“>=”吗https://graph.facebook.com/“.$name./friends?uid>=”.$load\u me\u more\u id.“字段=性别、名称和访问令牌=”。$this->getAccessToken()
您一次只能获取关于特定UID的信息。即使此查询运行,它也会向所有朋友提供信息。即使不使用
UID>='.$load\u me\u more\u id.
这是正确的,然后我会向所有朋友粘贴代码,以显示我正在分解json中的值,并且有没有一种可能的方法可以在这之后分离json在我想要的特定朋友id之后添加所有id?