Я пытаюсь получить доступ к некоторым данным через API. Вот мой текущий код:
$ch = curl_init("https://api.example.com/rest/1.3/analytics/affiliate/vendor/?account=xxxxx&select=EARNINGS_PER_HOP");
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Page: 1', 'Accept: application/json', 'Authorization: XXXXX'));
$response = curl_exec($ch);
curl_close($ch);
if ($response) {
$array = json_decode($response, TRUE);
foreach ($array['rows']['row'] as $data) {
$value = $data['data']['value']['$'];
$dimension = $data['dimensionValue'];
/// insert $value and $dimension into database
}
}
Я просто пытаюсь получить некоторые данные из него и вставить их в базу данных MySQL. Мой текущий код технически работает, но API отображает только первые 100 результатов.
Если результатов более 100, он предоставит данные и даст ответ заголовка 206 Partial Content
, чтобы сообщить мне, что есть больше результатов. Чтобы перейти на следующую страницу, мне нужно отправить Page: n
в заголовке.
Как видно из кода выше, я отправляю Page: 1
в заголовке.
Как можно Я проверяю, указан ли код ответа 206
и, если он есть, продолжайте циклически проходить, пока он не достигнет кода ответа 200
(номер страницы в заголовке нужно будет увеличивать для каждого l oop)?