通过图形api下载facebook收件箱消息的标准方法

时间:2015-02-17 15:11:13

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

我试图通过php SDK 4下载我的facebook收件箱消息并将其保存到数据库中(使用Guzzle进行分页)。分页速度非常慢,并且在一定时间后它达到api限制。下载我的收件箱邮件的标准方法是什么,另外,我如何提高分页速度这是我的分页代码:

    function url($url){
    $client = new Client();
    $response=$client->get($url);
    $body = $response->json();
    return $body['paging']['next'];
}

    $client = new Client();
    $response = $client->get($x['comments']->paging->next);
    $body = $response->json();
    $url = $body['paging']['next'];
    $count = 0 ;
    while(true){
    $result = url($url);
     if(empty($result))
        break;
     echo $count . ": " . $result . "<br>";
     $url = $result;
     $count = $count + 1;
    }

1 个答案:

答案 0 :(得分:2)

除了使用分页和增加限制之外没有其他方法,因此每个API调用可以获得更多结果。但是限制参数是......好吧......有限:) - 所以你不能只使用1000的限制。

使用limit参数如下所示:/me/inbox?limit=100

请注意,您只能访问自己的收件箱,您的App不会获得read_mailbox批准:

  

此权限授予在Facebook尚不可用的平台上构建Facebook品牌客户端的应用程序。例如,Android和iOS应用不会获得此权限的批准。此外,Web,桌面,车载和电视应用程序将不被授予此权限。

来源:https://developers.facebook.com/docs/facebook-login/permissions/v2.2#reference-read_mailbox