[英]Debugging Bad Request 400 error
我正尝试从Google的QPX Express API返回航班列表,但是我却收到了错误的请求响应:
{ StatusCodeError: 400 - {"error":{"errors":[{"domain":"global","reason":"badRequest","message":"Invalid inputs: received empty request."}],"code":400,"message":"Invalid inputs: received empty request."}}
我正在处理请求的结构有问题吗? 我正在使用request-promise
库
const options = {
method: 'POST',
uri: 'https://www.googleapis.com/qpxExpress/v1/trips/search?key=XXXXXXXXXXXXXXX',
qs: {
"request": {
"passengers": {
"adultCount": 1 },
"slice": [{"origin": "BOS",
"destination": "LAX",
"date": "2017-03-01"
}]
}
},
json: true
}
request(options)
.then(function (response) {
console.log(response)
})
.catch(function (err) {
console.log(err)
})
核实:
const options = {
method: 'POST',
uri: 'https://www.googleapis.com/qpxExpress/v1/trips/search?key=XXXXXXXXXXXXXXX',
qs: {
"request": {
"passengers": {
"adultCount": 1 },
"slice": [{"origin": "BOS",
"destination": "LAX",
"date": "2017-03-01"
}]
}
},
json: true
};
request(options)
.then(function (response) {
console.log(response);
})
.catch(function (err) {
console.log(err);
});
您忘记了结束uri字符串。 另外,请不要忘记分号。
编辑:尝试:
request({
url: (your url here),
method: "POST",
json: requestData
},
其中requestData将是您的qs。
我已经解决了这个问题。 该请求需要将数据包含在body
键中,并且内容类型设置为JSON。
现在,这将按预期从API返回数据。
const options = {
method: 'POST',
uri: 'https://www.googleapis.com/qpxExpress/v1/trips/search?&key=XXXXXXXXXXXXXXXXXXXX',
body: {
"request": {
"passengers": {
"adultCount": "1"
},
"slice": [
{
"origin": "SFO",
"destination": "LAX",
"date": "2017-06-19"
}
],
"solutions": "1"
}
},
json: true
}
request(options)
.then(function (response) {
console.log(response.trips.tripOption[0].saleTotal)
})
.catch(function (err) {
console.log(err)
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.