Nin*_*ist 3 php facebook facebook-graph-api
这就是我在PHP中用来访问Facebook上的一堆群帖.我正在实施搜索功能来搜索这些帖子.
$url2 = 'https://graph.facebook.com/'. $group_id . '/feed' . '?limit=30&access_token=' . $_SESSION['access_token'] ;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "$url2");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$json = curl_exec($ch);
$data = json_decode($json, TRUE);
Run Code Online (Sandbox Code Playgroud)
所以我将其分解,并发现将图形URL放入浏览器会产生缓慢的响应.限制设置为30是可以的,但是它增加到300并且它很慢,增加到1000并且它爬行.
我看过分页,但我想抓取大量数据,以便我可以搜索它.缓存真的不起作用,因为加载初始数据仍然需要很长时间.
反正是为了加速这个还是我坚持Facebook Graph API的限制?
你可以批量您的要求,让你只对批处理请求设置的卷曲一次,而不是通过大量的卷发寻找http://developers.facebook.com/blog/post/2011/03/17/batch-requests-in-图的API /
$app_id = "YOUR_APP_ID";
$app_secret = "YOUR_APP_SECRET";
$my_url = "YOUR_URL";
$code = $_REQUEST["code"];
if(empty($code)) {
$dialog_url = "http://www.facebook.com/dialog/oauth?client_id=" . $app_id . "&redirect_uri=" . urlencode($my_url);
echo("<script> top.location.href='" . $dialog_url . "'</script>");
}
$token_url = "https://graph.facebook.com/oauth/access_token?client_id=" . $app_id . "&redirect_uri=" . urlencode($my_url) . "&client_secret=" . $app_secret . "&code=" . $code;
$access_token = file_get_contents($token_url);
$batched_request = '[{"method":"GET","relative_url":"me"},' . '{"method":"GET","relative_url":"me/friends?limit=50"}]';
$post_url = "https://graph.facebook.com/" . "?batch=" . $batched_request . "&access_token=" . $access_token . "&method=post";
echo $post_url;
$post = file_get_contents($post_url);
echo '<p>Response: <pre>' . $post . '</pre></p>';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1331 次 |
| 最近记录: |