Есть несколько вещей, на которые нужно обратить внимание при вызове этого API.
Есть ли "истинное" значение в поле "has-more".Если это так, есть еще контакты, которые можно извлечь.
Значение поля «vid-offset», которое возвращается в ваших вызовах.
Для "has-more", это логическое значение указывает, есть ли еще контакты, которые вы можете тянуть через нумерацию страниц.Для "vid-offset" это целое число, сгенерированное API, оно не принимает простое последовательное целое число.
Кроме того, вы получаете только 5 записей за раз, вы также можете простосделайте максимум, так как это всего 100. Это ограничит количество звонков, которые вам нужно сделать.
Наконец, вы можете просто захотеть добавить их в файл, который затем сможете использовать для чего угодно,т.е. добавление в базу данных, загрузка и т. д.
Итак, я предлагаю изменить исходную функцию, чтобы проверить значение «has-more» для «true», если оно равно true, отправить «vid-offset»значение новой функции, которая делает другой вызов.В этой функции вы можете продолжать проверять эти значения и запускать вашу функцию столько раз, сколько потребуется, пока значение «has-more» не станет ложным.
// the rest of your function is above
// Decode the result so you can traverse the data
$contacts = json_decode($result);
// Store 'has-more' value
$has_more = $contacts->has-more;
// Check if there are more records
if($has_more) {
// Get the offset number provided by API
$offset = $contacts->vid-offset;
// Get more records
getMore($offset);
} else {
// Complete calls and do something else...
}
}
function getMore($offset) {
// Make cURL call with your your offset value
$url = $url.'&property=firstname&property=email&count=100&vidOffset=' . $offset;
$contacts = json_decode($result);
$has_more = $contacts->has-more;
if($has_more) {
$offset = $contacts->vid-offset;
getMore($offset);
} else {
// Complete calls and do something else...
}
}
Документация , котораяони действительно довольно ясны , так что я бы тоже немного перечитал.