我经历了大量的谷歌搜索,并且陷入了一个绊脚石,因为他们已经加入了一系列Facebook群组。 第一个调用转到api以获取与用户帐户关联的组对象:
$this->groups = $this->facebook->api('/me/groups');
这适用于基本信息
{
"version": 1,
"name": "Email Friends",
"id": "12345",
"unread": 1,
"bookmark_order": 12
},
为了深入挖掘,我需要id:
https://graph.facebook.com/374541109272246?access_token=3fasdfvartfawefwefq
这可以获得群组信息:
{
"id": "12345",
"version": 1,
"owner": {
"name": "someone",
"id": "123456"
},
"name": "Email Friends",
"privacy": "OPEN",
"icon": "https://s-static.ak.facebook.com/someimage.png",
"updated_time": "2012-09-18T01:25:20+0000",
"email": "123435@groups.facebook.com"
}
通过浏览器简单地通过单个查询拉出多个组:
https://graph.facebook.com/?ids=098765,32113,12345,?access_token=3fasdfvartfawefwefq
使用API或FQL,我如何能够一次提取多个组的信息?
$this->getFBData("groups");
$groupsData = '<div id="gtooltip">';
foreach ($this->groups['data'] as $data)
{ $gids .= $data['id'] .','; }
try{
$grpData = $this->facebook->api("/?ids=$gids");
}catch(FacebookApiException $e){
error_log($e);
return MsgBox(_t("$e"."$gids"));
}
我尝试了facebook->api("/?ids=$gids");
的多种变体,但却无法让它正常工作。
答案 0 :(得分:0)
我想出了一部分。它获取数据,现在我需要弄清楚如何解析它
$batch = array();
$this->getFBData("groups");
foreach ($this->groups['data'] as $data)
{ $batch[] = array('method' => 'GET', 'relative_url' => $data['id']); }
$grpData = $this->facebook->api('?batch='.json_encode($batch), 'POST');
它返回一个multidiemsional数组: $ var = json_decode($ grpData [0] ['body'],TRUE);
现在要弄清楚如何循环使用它。差不多了。