我想根据其 ID 从 facebook 组中获取所有帖子。我试过这个:
https://graph.facebook.com/".$group_id."/feed?time_format=U&".$authToken
这只会给我某些帖子。如果可能的话,如果不是通过分页 url,我希望所有帖子都可以通过单个 url 检索。但是分页 url 包含分页标记为
https://graph.facebook.com/55259308085/feed?limit=500&access_token=ACCESS_TOKEN&until=1298025645&__paging_token=55259308085_10150259582898086
什么是分页 token 和直到??
请指引我走向正确的道路。 谢谢。
最佳答案
set_time_limit(99999999);
ini_set('memory_limit', "9999M");
function fetchUrl($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 40);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$url_array = array();
function recurse_it($url, $c) {
global $url_array;
$feeds = fetchUrl($url);
$feed_data_obj = json_decode($feeds, true);
if (!empty($feed_data_obj['data'])) {
$next_url = $feed_data_obj['paging']['next'];
$url_array[$c] = $next_url;
recurse_it($next_url, $c + 1);
}
return $url_array;
}
$url = "https://graph.facebook.com/55259308085/groups?access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$arr = recurse_it($url, 0);
print_r($arr);
其中 $arr
是所有可用分页链接的数组,我使用 foreach 循环遍历分页的所有内容。
关于facebook - 如何通过facebook graph api获取群组的所有帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14919731/