Twilio PHP: getIterator

Я пытаюсь получить журналы вызовов из twilio, используя библиотеку twilio-php. Со следующим кодом я ожидаю, что twilio вернет последние 10 записей, но он вернет все. Я пытался найти документы для этого, но не смог найти.

foreach ($client->account->calls->getIterator(0, 10, array(
    'To' => $_GET['callerid']
)) as $call){

}

Может ли кто-нибудь помочь мне, как я могу использовать приведенный выше код для отображения журналов по страницам. Как и для 1-й страницы, он возвращает последние 1-10 журналов. Для второй страницы 11-20 и так далее.

Ценю твою помощь.


person Kiran P.    schedule 21.08.2015    source источник


Ответы (1)


Евангелист разработчиков Twilio здесь.

К сожалению, существует известная проблема с методом getIterator, из-за которой он возвращает все результаты независимо от количества объявленных вами элементов.

Однако он перебирает все результаты и делает несколько запросов к API для каждой из страниц как описано здесь.

Однако вы можете использовать getPage, который будет принимать номер страницы и количество записей как таковых:

$callLog = $client->account->calls->getPage(0, 10, array(
    'StartTime>' => '2015-04-01',
    'StartTime<' => '2015-05-01'
));

var_dump($callLog->num_pages);

foreach ($callLog->getItems() as $call) {
    echo "From: {$call->from}\nTo: {$call->to}\nSid: {$call->sid}\n\n";
}

Все, что вам нужно сделать, это изменить номер страницы (первый аргумент getPage()).

Надеюсь, это поможет вам.

person Marcos Placona    schedule 21.08.2015
comment
Вы, ребята, действительно должны обновить документы, так как getIterator() используется почти в каждом примере. - person Lloyd Banks; 01.06.2016