0

我一直在寻找我的问题的答案,但到目前为止我得到了这个:

https://graph.facebook.com/the_user_id?fields=name,picture

我需要能够显示/打印一组我知道其 ID 的用户列表的名字、姓氏和图片。需要什么代码来获取这些数据,然后将其发布到 php/html 页面上?当然,这意味着如果我要显示 10 个用户,我将输入 10 个不同的 ID(阅读 smtg 关于数组列表?)。请注意,我不需要此功能适用于当前用户。

提前感谢您的回复。

4

2 回答 2

2

您需要在 php 中使用 file_get_contents ( http://uk3.php.net/file_get_contents ) 或 curl 并向 url 发出请求,如下所示:

 https://graph.facebook.com/?ids=id1,id2,id3&fields=name,picture

(用您的 id 替换 id1,id2)

这将返回一个 json 对象。然后您需要解码(http://uk3.php.net/json_decode)并循环访问并访问信息

这应该让你开始

// people array uses the users id as the key and the dessert as the value. The id is then used in the query to facebook to select the corresponding value from this array
$people = array("id1"=>"favourite "dessert", "id2"=>"favourite dessert", "id3"=>"apple pie");

 $json = file_get_contents('https://graph.facebook.com/?ids=id1,id2,id3&fields=id,name,picture');
 $json = json_decode($json);
foreach($json as $key=>$person){
   echo '<p><img src="'.$person->picture.'" alt="'.$person->name.'" />';
   echo $person->name.'\'s favourite dessert is '.$people[$person->id'];
   echo '</p>';
}

我在这里对请求进行了批处理,或者您可以为每个用户执行 10 个单独的查询,但这有点无意义且效率低下

于 2012-08-15T19:57:01.707 回答
1

最简单的方法是使用 FQL 查询:

SELECT first_name, last_name, pic, uid FROM user WHERE uid IN 
  (Known_ID_1, Known_ID_2, ... Known_ID_n)

如果您使用 PHP,最简单的方法是安装PHP SDK,不过您也可以直接调用https://graph.facebook.com/fql?q=URL_ENCODED_QUERY

于 2012-08-15T19:57:53.013 回答