Разбивка на страницы не работает в журналах вызовов twilio laravel

<?php

namespace App\Http\Controllers\Api;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Http\Controllers\ApiController;
use App\Model\User;
use Illuminate\Support\Facades\Validator;
use Auth;
use Twilio\Rest\Client;
use Twilio\TwiML\VoiceResponse;

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;

    }

Разбивка на страницы не работает, когда я получаю историю звонков в twilio, используя laravel rest api. когда я использую параметр страницы с этим, тогда разбиение на страницы не работает, это дает мне сохранить вывод, как указано мне на 1-й странице. Параметры почтальона - Страница:2

Спасибо


person mukesh    schedule 28.04.2020    source источник


Ответы (1)


Думаю, вам поможет функция page() Twilio. Как и 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]);
person Brad    schedule 11.05.2020