Valider les données du formulaire avec axios dans Node.js

Je suis à l'essai à la Uber API pour le Facteur, et je suis en mesure d'envoyer une demande avec le formulaire de données avec succès. Lorsque je tente de traduire cette demande de l'aide Node.js et l'axios bibliothèque, j'obtiens une erreur.

Voici ce que mon Facteur requête ressemble à:

Valider les données du formulaire avec axios dans Node.js

La réponse que je reçois est: { "error": "invalid_client" }

Ici est ce que je fais dans Node.js et axios:

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)
  })

Quand je fais cela, je reçois un 400 de réponse.

J'ai ajouté le 'multipart/form-data' en-tête parce que j'ai rempli le formulaire de données dans le Facteur de la demande. Sans l'en-tête j'obtiens le même résultat.

Je m'attends à recevoir la même réponse que je reçois de Facteur, il ya quelque chose de mal avec ma config variable dans le Node.js script?

Toute aide serait appréciée!

Il semble que vous êtes l'envoi d'un paramètre supplémentaire dans votre appel d'API.. Lorsque vous envoyez des paramètres supplémentaires vous sont ont tendance à recevoir ce Invalid Client erreur.
Avez-vous essayé de transmettre les données à l'aide de querystring.stringify? Comme ceci: var querystring = require('querystring'); axios.post('http://something.com/', querystring.stringify({ foo: 'bar' });
envelopper les données dans la chaîne de requête module n'a pas aidé à me sortir cette fois...

OriginalL'auteur Mike | 2017-01-20