我是编程和使用JavaScript的新手。我正在尝试在控制台上输出请求的结果,但它总是抛出错误。我正在从视频中观看,对于教师而言,效果很好。我究竟做错了什么?请保释我。 注意:不是真实密钥
request({
url: 'https://maps.googleapis.com/maps/api/geocode/json?address=Lagos+Nigeria&key=AIzaSyCGv0HDQB2dhHl6mY29PwqXAavIK3U',
JSON: true
}, (error, response, body) => {
console.log(`Address: ${body.results[0].formatted_addresss}`);
console.log(`Latitude: ${body.results[0].geometry.location.lat}`);
console.log(body.results[address_components]);
});
答案 0 :(得分:0)
尝试将参数“ body”更改为“ response”
request({
url: 'https://maps.googleapis.com/maps/api/geocode/json?address=Lagos+Nigeria&key=AIzaSyCGv0HDQB2dhHl6mY29PwqXAavIK3U',
JSON: true
}, (error, response, body) => {
console.log(`Address: ${response.results[0].formatted_addresss}`);
console.log(`Latitude: ${response.results[0].geometry.location.lat}`);
});
也许你里面什么都没有
答案 1 :(得分:0)
您的代码可能是正确的,但不是“保存”。
您的特定问题是,您指定为Public Function addieren(X, Y, Z, value) As Double
' function to calculate three results
' and to write these in three fields starting with
' the field calling the macro
Xa = X + value
Ya = Y + value
Za = Z + value
addieren = Za
End Function
参数的API密钥无效。如果将URL粘贴到浏览器中并按Enter,您将看到以下响应:
key
我的猜测是,您从辅导员视频中复制了API密钥。在这种情况下,它现在可能无效。您应该request your own key,然后重试。
关于未保存代码部分:您的代码错误地认为该请求将始终返回您期望的数据。在这种情况下,它不会(因为有错误)。收到的数据看起来不像您的程序期望的那样,因此会崩溃。
为避免这种情况并有更具体的错误消息,请检查结果是否确实像您期望的那样。例如:
{
"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.log(`Address: ${body.results[0].formatted_addresss}`);
console.log(`Latitude: ${body.results[0].geometry.location.lat}`);
console.log(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!
}
};
字段中会有什么期望以及如何处理不同的情况。