LYFT, запрашивающий поездку, возвращает ошибку отсутствующих параметров
Я сталкиваюсь с ошибкой, которую пытаюсь исправить. При отправке почтового запроса на адрес: 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, с библиотекой запросов
1 ответ
Я не использовал библиотеку запросов узлов широко, но она может иметь какое-то отношение к тому, что ваш 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))