У меня есть некоторые данные, которые я получаю от клиента и отправляю на сервер через ajax.
Достаточно таких данных
Woodvale Grove, Nairobi, Kenya| Garissa| Mombasa Road
Я использую php и затем делаю этот запрос с моим ключом
$pickup = $this->input->post('pick'); $destination = $this->input->post('dest'); $user_id = $this->input->post('user_id'); $additional_destinations = $this->input->post('more_dests'); echo $additional_destinations; $json = file_get_contents("https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=".$pickup."&destinations=".$additional_destinations."&mode=driving&key=hidden"); $distance_arr = json_decode($json); echo $distance_arr;
Я получаю ошибку 400, и это ошибка
Серьезность: Предупреждение Сообщение: file_get_contents (https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=Duma Дорога, Найроби, Кения и направления = Woodvale Grove, Найроби, Кения | Garissa | Mombasa Road & mode = вождение и ключ = скрыто): не удалось открыть поток: HTTP-запрос не выполнен! HTTP / 1.0 400 неверный запрос
Серьезность: Предупреждение
Сообщение: file_get_contents (https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=Duma Дорога, Найроби, Кения и направления = Woodvale Grove, Найроби, Кения | Garissa | Mombasa Road & mode = вождение и ключ = скрыто): не удалось открыть поток: HTTP-запрос не выполнен! HTTP / 1.0 400 неверный запрос
Я скопировал ссылку в сообщении об ошибке и заметил, что ключ не распознается или не читается.
Как мне это исправить?.
Решил это так
$distance_data = file_get_contents('https://maps.googleapis.com/maps/api/distancematrix/json?&units=metric&origins='.urlencode($pickup).'&destinations='.urlencode($additional_destinations).'&key=hidden'); $distance_arr = json_decode($distance_data); print_r($distance_arr);
Вам нужно добавить способ оплаты для вашего API ключа для работы. Вы добавили способ оплаты?