#php #json #rest
#php #json #rest
Вопрос:
К сожалению, у меня есть еще один вопрос о REST API от easybill:-(
Ссылка: https://www.easybill.de/api/ или: https://api.easybill.de/rest/v1/swagger.json
Я надеюсь, вы можете читать мой английский. Я использую переводчик Google.
У меня проблема в том, что я могу запросить максимум 100 данных о клиентах.
На интернет-странице Api написано: «По умолчанию все списки результатов ограничены 100. Этот лимит может быть увеличен параметром запроса limit максимум до 1000.»
Но я не могу найти никакой помощи в Интернете о том, как увеличить этот лимит в моем коде.
Я надеюсь, что вы сможете мне помочь.
Вот мой код:
$url = "https://api.easybill.de/rest/v1/customers";
$ch = curl_init();
$accesstoken = "XXXXXXX";
$headr = array();
$headr[] = 'Content-length: 0';
$headr[] = 'Content-type: application/json';
$headr[] = 'Authorization: Bearer '.$accesstoken;
curl_setopt($ch, CURLOPT_HTTPHEADER,$headr);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HTTPGET, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result=curl_exec($ch);
curl_close($ch);
$data = json_decode($result,true);
$users=$data;
print '<pre>';
print_r($users);
print '</pre>';
Наилучшие пожелания из Германии
Комментарии:
1. Здравствуйте, ссылаясь на easybill.de/api в нем говорится, что «По умолчанию все списки результатов ограничены 100. Этот лимит может быть увеличен параметром запроса limit максимум до 1000 «. так что просто добавьте , ?limit=1000 к вашему $url
Ответ №1:
Строка запроса означает, что параметр принадлежит URL, и для GET это единственный вариант передачи любых параметров.
Итак, вы добавляете его с помощью ‘?’, разделенного URL.
https://api.easybill.de/rest/v1/customers
получает https://api.easybill.de/rest/v1/customers?limit=1000
Но это не лучший способ, поэтому решите вашу проблему. Если есть 1001 клиент, вы никогда не получите этого последнего.
Согласно документации, там также есть page
параметр. Поэтому лучше отправлять несколько запросов и увеличивать номер страницы.
Поэтому вызывайте эти URL-адреса, пока вы не получите никаких данных обратно:
https://api.easybill.de/rest/v1/customers?page=1
https://api.easybill.de/rest/v1/customers?page=2
https://api.easybill.de/rest/v1/customers?page=3
...
Комментарии:
1. URL api.easybill.de/rest/v1/customers?=limit=1000 выглядит некорректно, обратите внимание на дополнительный «=» перед параметром limit.
2. @mkane спасибо, что указали на это, это была ошибка копирования и удаления