Я пытаюсь создать один большой файл JSON со всеми моими контактами. Поскольку API возвращает максимум 100 контактов, я должен работать с нумерацией страниц.
Я нашел более старую тему по этому вопросу, но для этого используется внешний репо . Я нашел более новый репо , но не могу заставить его работать. В лучшем случае я не использую внешнюю библиотеку, потому что мне нужен такой маленький кусочек кода.
Я попробовал следующий код, но он продолжает загружаться. Я предполагаю, что переменные не обновляются. Что я делаю не так?
<?php
echo '<pre>';
function getData($offset = 0){
$properties = "&property=email&property=firstname&property=funnel&property=hs_lead_status&property=start_session";
$apikey = "xxxx-xx-xx";
$feed_url = "https://api.hubapi.com/contacts/v1/lists/all/contacts/recent?hapikey=". $apikey. $properties.'&vidOffset='.$offset;
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $feed_url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache"
),
));
$response = curl_exec($curl);
$data = json_decode($response);
return $data; //return the results for use
}
$allData = array();
$offset = 0;
$hasMore = true;
while ($hasMore === true) {
$response = getData( $offset );
$allData[] = $response;
$offset = $response->{'vid-offset'};
$hasMore = $response->{'has-more'};
var_dump( $hasMore );
$hasMore = false;
}