我试图通过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;
}
答案 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