限制Facebook的批量请求

问题描述 投票:1回答:1

我试图通过批处理请求调用用户的帖子。所以我的想法是创建一个多维数组。每个阵列具有50请求

$fb->request('GET','/'.$user.'?fields=id,posts{created_time,message,id}');

第一个问题:这是一个要求吗?我认同...

在那之后,我想使一批呼吁每个数组...

foreach($batch_array as $batch){
    try {
        $responses = $fb->sendBatchRequest($batch);     
[...]

这里的问题是:如果我设置请求50 /阵列的数量,我得到的第一个电话后错误:

你不能同时发送超过50个请求

只有一10在一个阵列中的请求,我拿到后50或5批次调用这个错误了。

有没有人的想法是什么,我做错了什么?

谢谢,马库斯

编辑:

while($userFB= mysqli_fetch_assoc($userFB_result)){
    if($req < 49){
        $batch[] = $fb->request('GET','/'.$userFB['facebook_id'].'?fields=id,posts{created_time,message,id}');
        $req++;
    } else {
        $batch_array[] = $batch;
        $req = 0;
    }
}
$batch_array[] = $batch;

foreach($batch_array as $batch){
    try {
        $responses = $fb->sendBatchRequest($batch);      
        $responses_array[] = $responses;
    } catch(FacebookExceptionsFacebookResponseException $e) {
        // When Graph returns an error
        echo 'Graph returned an error: ' . $e->getMessage();
        exit;
    } catch(FacebookExceptionsFacebookSDKException $e) {
        // When validation fails or other local issues
        echo 'Facebook SDK returned an error: ' . $e->getMessage();
        exit;
    } 
}
facebook facebook-php-sdk facebook-batch-request
1个回答
0
投票

你不设置$批次回一个空数组,所以你的$批次变量不断增加。

else {
        $batch_array[] = $batch;
        $req = 0;
        $batch = [];
    }
© www.soinside.com 2019 - 2024. All rights reserved.