我遇到了一个我努力修复的错误。 在发布帖子请求时: https://api.lyft.com/v1/rides 使用沙箱环境(以及服务器访问令牌)我看到以下响应:
{
"error_detail":[
{"origin.lat":"Missing required parameter"},
{"origin.lng":"Missing required parameter"}],
"error":"bad_parameter"
}
表明缺少这两个参数。 但是,这些参数包含在我的请求中:
{
"method":"POST",
"form":{
"ride_type":"lyft",
"origin":{
"lat":"37.773972",
"lng":"-122.431297"
},
"destination":{
"lat":"37.6213129",
"lng":"-122.3789554"
}
},
"url":"https://api.lyft.com/v1/rides",
"href":"https://api.lyft.com/v1/rides",
"pathname":"",
"headers":{
"Content-Type":"application/json",
"Authorization":"Bearer THE-SERVER-ACCESS-TOKEN-MADE-WITH-SANDBOX-PREFIX"
}
}
或者,服务器有时会回复说 ride_type 缺失,而不是。
有人可以告诉我这里缺少什么吗? 我使用NodeJs服务器,请求库
答案 0 :(得分:0)
我还没有广泛使用节点请求库,但它可能与您的json没有被序列化到您需要的深度级别有关。您是否尝试过使用axios?它是一个非常受欢迎的http api,可以清除你的错误。您的请求将如下所示:
axios.post('https://api.lyft.com/v1/rides', {
ride_type: 'lyft',
origin: {
lat: '37.773972',
lng: '-122.431297'
},
destination: {
lat: '37.6213129',
lng: '-122.3789554'
}
}, {
headers: {
Authorization: 'Bearer <access_token>'
}
})
.then(succ => console.log(succ.data))
.catch(err => console.log(err))