获取所有Facebook帖子 - 内部服务器错误

时间:2012-11-26 15:52:06

标签: facebook facebook-graph-api facebook-php-sdk facebook-fql

我想收到特定用户的所有帖子..我知道他们有限,所以我每次都会收到100个帖子......

$total2 = 0;
try {
    for ($i = 0; $i < 2000; $i = $i + 100) {
        $fql2 = "SELECT post_id, comments, message 
                FROM stream
                WHERE source_id = me() 
                LIMIT " . $i . "," . ($i + 100);
        $param2 = array(
            'method' => 'fql.query',
            'query' => $fql2,
            'callback' => ''
        );
        $fqlResult2 = $facebook->api($param2);
        $total2 = $total2 + count($fqlResult2);
    }
} catch (Exception $o) {
    d($o);
}

但是在运行时,服务器挂起了500(内部服务器错误)..

当我把它变成300循环迭代器时它不会挂起......

任何想法?

2 个答案:

答案 0 :(得分:0)

你的$ parms2数组应该看起来像我相信:

        $param2 = array(
        'method' => 'fql.query',
        'access_token' => $access_token,
        'query' => $fql2,
        'callback' => ''
    );

我相信用户会收到您需要访问令牌的帖子,以便您可以获取access_token有权访问的帖子。

答案 1 :(得分:0)

我建议使用批量请求:

  

https://developers.facebook.com/docs/reference/api/batch/

您可以在批量请求中最多堆叠50个呼叫,速度要快得多。