2017-01-20 7 views
5

Я тестирую API Uber на Postman, и я могу успешно отправить запрос с данными формы. Когда я пытаюсь перевести этот запрос с помощью Node.js и в библиотеку axios, я получаю сообщение об ошибке.Данные формы сообщения с axios в Node.js

Вот что мой Почтальон запрос выглядит следующим образом:

Postman POST request

Ответ я получаю: { "error": "invalid_client" }

Вот что я делаю в Node.js и Вардар:

var axios = require("axios"); 

const config = { headers: { 'Content-Type': 'multipart/form-data' } }; 

axios.post('https://login.uber.com/oauth/v2/token', { 
    client_id: '***', 
    client_secret: '***', 
    grant_type: 'authorization_code', 
    redirect_uri: 'http://localhost:8080/', 
    code: '***' 
}, config) 
    .then(function(response) { 
    console.log(response.data) 
    }) 
    .catch(function(error) { 
    console.log(error) 
    }) 

Когда я это сделаю, получаю ответ 400.

Я добавил заголовок 'multipart/form-data', потому что я заполнил данные формы в запросе Postman. Без заголовка я получаю тот же результат.

Я ожидаю получить тот же ответ, который я получаю от Postman, есть ли что-то не так с моей конфигурационной переменной в сценарии Node.js?

Любая помощь будет оценена!

+0

Кажется, вы отправляете дополнительный параметр в свой вызов API. Когда вы отправляете дополнительные параметры, вы, как правило, получаете эту ошибку «Недействительный клиент». –

+0

Вы пытались передать данные с помощью 'querystring.stringify'? Пример: 'var querystring = require ('querystring'); axios.post ('http://something.com/', querystring.stringify ({foo: 'bar'}); ' –

+0

@KingJulien обертывание данных в модуле querystring на этот раз не помогло мне. , – Mike

ответ

1

Из-за ошибки кажется, что ваш client_id или client_secret неверны. Включить отладку и поделиться необработанным запросом/ответом (после фильтрации учетных данных).

4

От 10 июня 2017 года axios библиотека не поддерживает отправку данных формы в Node.js. Речь идет о GitHub - https://github.com/mzabriskie/axios/issues/789

У нас была аналогичная проблема, и я решил переключиться на библиотеку request.

 Смежные вопросы

  • Нет связанных вопросов^_^