如何找到朋友';使用FacebookPHP sdk可以更快地获取信息

如何找到朋友';使用FacebookPHP sdk可以更快地获取信息,php,performance,facebook,facebook-graph-api,Php,Performance,Facebook,Facebook Graph Api,我正在使用以下代码检索用户的好友列表和这些好友的信息 $frnd = $facebook ->api('/me/friends?access_token='.$accessToken.'&fields=id,name,about,hometown'); for ($i=0; $i<$nr_friends; $i++) { $friendinfo = $facebook->api('/'.$frnd["data"][$i]["id"].'?fields=id,n

我正在使用以下代码检索用户的好友列表和这些好友的信息

$frnd = $facebook ->api('/me/friends?access_token='.$accessToken.'&fields=id,name,about,hometown');
for ($i=0; $i<$nr_friends; $i++)
  {
   $friendinfo = $facebook->api('/'.$frnd["data"][$i]["id"].'?fields=id,name,hometown,location');
   echo $friendinfo['name']." ".$friendinfo['location']['name']." ".$friendinfo['hometown']['name']."</br>";
  }
$frnd=$facebook->api('/me/friends?access_token='.$accessToken.&fields=id,name,about,homightry');
对于($i=0;$iapi('/'.$frnd[“数据”][$i][“id”]。?字段=id、名称、家乡、位置”);
echo$friendinfo['name'].''.$friendinfo['location']['name'..''.'.$friendinfo['Homeland']['name'.''。“
”; }

问题是,这种方法需要花费大量时间来加载好友信息。有什么方法可以加快加载速度吗?

我认为,通过将ID作为
IDs
参数传递,可以将好友信息的查询浓缩成一个API。我还没有测试过这一点,但可以尝试以下类似的方法:

// get a list of your your friends' IDs
$friends = $facebook->api('/me/friends?access_token='.$accessToken.'&fields=id');

// condense those IDs into a comma-separated string
$friends_ids = implode(',', $friends);

// now query for friends' name, hometown and location
$friends_info = $facebook->api('/?access_token='.$accessToken.'&fields=id,name,hometown,location&ids='.$friends_ids);

如果不亲自测试,我不确定确切的语法,但您应该在这里找到更多信息:

我认为您可以通过将ID作为
IDs
参数传递,将朋友信息查询浓缩为一个API。我还没有测试过这一点,但可以尝试类似以下内容:

// get a list of your your friends' IDs
$friends = $facebook->api('/me/friends?access_token='.$accessToken.'&fields=id');

// condense those IDs into a comma-separated string
$friends_ids = implode(',', $friends);

// now query for friends' name, hometown and location
$friends_info = $facebook->api('/?access_token='.$accessToken.'&fields=id,name,hometown,location&ids='.$friends_ids);
如果不亲自测试,我不确定确切的语法,但您应该在这里找到更多信息:

使用FQL语言:

$facebook->api(array('method'=>'fql.query','query'=>"SELECT uid,name,first_name,middle_name,last_name,pic_square,hometown_location,current_location,profile_url,email,website FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())"));
有关所有表及其相应列名的列表,请参阅:

使用FQL语言:

$facebook->api(array('method'=>'fql.query','query'=>"SELECT uid,name,first_name,middle_name,last_name,pic_square,hometown_location,current_location,profile_url,email,website FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())"));
有关所有表及其相应列名的列表,请参阅: