【问题标题】:Get All Facebook Posts - Internal Server Error获取所有 Facebook 帖子 - 内部服务器错误
【发布时间】:2012-11-26 15:52:06
【问题描述】:

我想获取特定用户的所有帖子..我知道它们是有限的,所以我每次都会收到 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 时,循环迭代器将不会挂起...

有什么想法吗?

【问题讨论】:

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


    【解决方案1】:

    我相信你的 $parms2 数组应该是这样的:

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

    我认为要获取用户的帖子,您需要一个访问令牌,以便您可以获取 access_token 有权访问的帖子。

    【讨论】:

      【解决方案2】:

      我建议使用批量请求:

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

      您可以在一个批处理请求中最多堆叠 50 个调用,而且速度要快得多。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-20
        • 1970-01-01
        • 1970-01-01
        • 2012-10-26
        • 2015-07-13
        相关资源
        最近更新 更多