Я новичок в программировании и использую JavaScript. Я пытаюсь вывести результат запроса на консоль, но он все равно выдает ошибки. Смотрю по видео и со стороны репетитора он работает нормально. Что я делаю неправильно? Пожалуйста, выручайте меня. NB: не настоящий ключ
request({
url: 'https://maps.googleapis.com/maps/api/geocode/json?address=Lagos+Nigeria&key=AIzaSyCGv0HDQB2dhHl6mY29PwqXAavIK3U',
JSON: true
}, (error, response, body) => {
console.info(`Address: ${body.results[0].formatted_addresss}`);
console.info(`Latitude: ${body.results[0].geometry.location.lat}`);
console.info(body.results[address_components]);
});



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


попробуйте изменить аргумент "тело" на "ответ"
request({
url: 'https://maps.googleapis.com/maps/api/geocode/json?address=Lagos+Nigeria&key=AIzaSyCGv0HDQB2dhHl6mY29PwqXAavIK3U',
JSON: true
}, (error, response, body) => {
console.info(`Address: ${response.results[0].formatted_addresss}`);
console.info(`Latitude: ${response.results[0].geometry.location.lat}`);
});
может у тебя внутри ничего нет
попробуйте изменить аргумент "тело" на "ответ"
Ваш код, вероятно, правильный, но он не «спасает».
Ваша конкретная проблема заключается в том, что ключ API, указанный вами в качестве параметра key, недействителен. Если вы вставите URL-адрес в браузер и нажмете Enter, вы увидите следующий ответ:
{
"error_message" : "The provided API key is invalid.",
"results" : [],
"status" : "REQUEST_DENIED"
}
Я предполагаю, что вы скопировали API-ключ из видео репетитора. В этом случае теперь он может быть недействительным. Вам следует запросить свой ключ и попробовать еще раз.
О части кода небезопасный: ваш код ложно предполагает, что запрос всегда будет возвращать данные, которые вы ожидаете. В данном случае это не так (потому что произошла ошибка). Полученные данные не выглядят так, как ожидает ваша программа, поэтому происходит сбой.
Чтобы избежать этого и получить более конкретное сообщение об ошибке, проверьте, действительно ли результат выглядит так, как вы ожидаете. Например:
(error, response, body) => {
if (response.statusCode >= 200 && response.statusCode < 300) {
// HTTP Status code indicates success
if (body.status === "OK") {
console.info(`Address: ${body.results[0].formatted_addresss}`);
console.info(`Latitude: ${body.results[0].geometry.location.lat}`);
console.info(body.results[address_components]);
} else {
// API-specific error. Check documentation for more info
}
} else {
// The request was successful but the server responded with an error. Handle it!
}
};
Документация по API расскажет, чего ожидать от поля status и как действовать в различных случаях.
Я вынул несколько букв в ключе, поскольку предполагаю, что он должен быть личным для меня (больше похожим на пароль). Однако ключ работает нормально и предоставляет информацию из URL. Я только хочу иметь возможность запрашивать эту информацию в консоли. Из предложенного выше кода видно, что ошибка возникает из-за ошибки API.
@SodiqHighdIdowu Хорошо, в следующий раз вы должны упомянуть об этом в своем вопросе. Кроме того, добавьте вывод, который вы получаете к своему вопросу, пожалуйста.
Googleapi отлично работает. Его выходные данные Результаты, адрес, геометрия, широта, долгота и т. д. Я хочу иметь возможность запрашивать их и выводить на консоль