Программист среднего уровня, но это мой первый опыт использования API и RapidAPI в частности. Я использую API "WorldWide Restaurants" ( Здесь документация )
При использовании примера кода прямо с сайта для доступа к API:
$response = Unirest\Request::post("https://worldwide-restaurants.p.rapidapi.com/search",
array(
"X-RapidAPI-Host" => "worldwide-restaurants.p.rapidapi.com",
"X-RapidAPI-Key" => "myrapidapikey",
"Content-Type" => "application/x-www-form-urlencoded"
),
array(
"language" => "en_US",
"location_id" => "15333482",
"currency" => "USD",
"limit" => 15
)
);
Объект я получаю обратно «Ошибки проверки», поэтому он не получает мой второй массив или неправильно передает его.
code: 200
+raw_body: "{"status":201,"msg":"validation errors","results":["The location id field is required.","The limit field is required.","The language field is required.","The cu ▶"
+body: {#175 ▶}
+headers: array:16 [▶]
Я также пробовал это:
$headers = [
'x-rapidapi-host' => 'worldwide-restaurants.p.rapidapi.com/',
'x-rapidapi-key' => 'myrapidapikey',
'content-type' => 'application/x-www-form-urlencoded'
];
$data = [
'limit' => '30',
'language' => 'en_US',
'location_id' => '154913',
'currency' => 'CAD'
];
$response = Unirest\Request::post("https://worldwide-restaurants.p.rapidapi.com/search", $headers, $data);
dd($response);
И Я изменил имя массива «data» на все, что я мог придумать, с теми же результатами. Я также пошел и попытался использовать пакет Guzzle laravel, и при его использовании я не получаю ошибки проверки, но я также Кажется, я не могу получить никаких полезных данных.
У меня такое чувство, что я пропускаю шаг и всюду искал ответ. Надеюсь, кто-то умнее меня поймет, что я делаю неправильно. Спасибо.
РЕДАКТИРОВАТЬ: В случае, если это имеет значение, я запускаю это из WAMP на моей локальной машине.