分页在twilio调用日志laravel中不起作用


<?php
namespace AppHttpControllersApi;
use IlluminateHttpRequest;
use AppHttpControllersController;
use AppHttpControllersApiController;
use AppModelUser;
use IlluminateSupportFacadesValidator;
use Auth;
use TwilioRestClient;
use TwilioTwiMLVoiceResponse;
class TwilioController extends ApiController
{
public function __construct(){
$sid = env('TWILIO_SID');
$token = env('TWILIO_TOKEN');
$this->twilio = new Client($sid, $token);
if (request('lang'))
App::setLocale(request('lang'));
}
public function callLogs(Request $request){
try{
$twilioNumber = Auth::user()->twilio_number;
$calls = $this->twilio->calls
->read([], 20);
$data = [];
$i = 0;
foreach($calls as $call){
$data[$i]['from'] = $call->from;
$i++;
}
$responseData = array('status'=>true, 'message'=>'Data has been returned successfully!', 'data'=>$data);
} catch (Exception $e) {
$responseData = array('status'=>false, 'message'=>$e->getMessage(), 'data'=>[]);
}
$res = json_encode($responseData);
print $res;
}

当我使用laravel rest api在twilio中获取调用历史时,分页不起作用。当我使用page参数时,分页不起作用,它会将输出保存为第一页。邮差参数-页码:2

感谢

我认为Twilio的page()函数会对您有所帮助。与read()一样,它接受一系列选项来缩小搜索范围,同时pageSize参数默认为每页50个调用。(我认为最大值是1000。(

下面是一个例子。

//Get all call logs. 20 per page
$calls = $twilio->calls->page( [], 20 );
$data = [];
foreach($calls as $call){
$data[] = $call->sid;
}
//You can access the previous and next page urls using the resource functions in the calls object return from twilio.
return response()->json(["prev" => $calls->getPreviousPageUrl(), "next" => $calls->getNextPageUrl(), "calls" => $data]);

最新更新