Axios: Ich kann keine POST-Anfrage an die Paypal-API senden

Erstellt am 15. Jan. 2017  ·  3Kommentare  ·  Quelle: axios/axios

Hallo, mein Problem ist eher eine Frage, ich versuche, Axios dazu zu bringen, eine POST-Anfrage zu senden, die dasselbe tut wie diese Locke:

curl -v https://api.sandbox.paypal.com/v1/oauth2/token \
  -H "Accept: application/json" \
  -H "Accept-Language: en_US" \
  -u "EOJ2S-Z6OoN_le_KS1d75wsZ6y0SFdVsY9183IvxFyZp:EClusMEUk8e9ihI7ZdVLF5cZ6y0SFdVsY9183IvxFyZp" \
  -d "grant_type=client_credentials"

mein Code ist dieser:

    var instance = axios.create({
        baseURL: 'https://api.sandbox.paypal.com/v1/oauth2/',
        timeout: 1000,
        method: 'post',
        headers: {
          'Accept': 'application/json',
          'Accept-Language': 'en_US',
          'content-type': 'application/x-www-form-urlencoded',
          'EOJ2S-Z6OoN_le_KS1d75wsZ6y0SFdVsY9183IvxFyZp':'EClusMEUk8e9ihI7ZdVLF5cZ6y0SFdVsY9183IvxFyZp'
        },
        data: {
          "grant_type": "client_credentials",
        },    
});

  instance.post('/token')
      .then(function(response){
        console.log(response.data); // ex.: { user: 'Your User'}
        console.log(response.status); // ex.: 200
      });

Ich rufe es von meinem localhost auf und es gibt mir den Fehler 401. Dies ist der Link zur PAYPAL-API https://developer.paypal.com/docs/integration/direct/make-your-first-call/

Beim Durchlesen der Dokumente konnte ich nicht verstehen, wo ich den Benutzernamen und das Passwort ablegen oder die Autorisierung auf basicOuth einrichten sollte
instance.defaults.headers.common['Authorization'] = AUTH_TOKEN;
Was ist AUTH_TOKEN? ist ein const? welchen Wert soll ich dem geben?

Danke jedenfalls im Voraus.

Hilfreichster Kommentar

Ich habe es gelöst! Ich habe einen Gist erstellt, um zu zeigen, wie ich es gelöst habe, wenn jemand Hilfe braucht: https://gist.github.com/TigaxMT/b57c11df3e4ebd0510858ec3df775efa

Alle 3 Kommentare

Sie müssen sich mit Benutzername und Kennwort unter Verwendung der Standardauthentifizierung authentifizieren. Außerdem senden Sie JSON mit dieser Anfrage und die curl-Version verwendet "application/x-www-form-urlencoded". Bitte lesen Sie die Dokumentation:

@Spartano Du hast das Problem gelöst? Ich versuche dasselbe zu tun und gebe mir auch eine 401 und diese Meldung "Authentifizierung aufgrund ungültiger Authentifizierungsdaten oder eines fehlenden Autorisierungsheaders fehlgeschlagen".

Mein Code hier:

axios.post('https://api.sandbox.paypal.com/v1/oauth2/token', querystring.stringify({

    grant_type: 'client_credentials',

    withCredentials: true,

    headers:{

        'Accept': 'application/json',
        'Accept-Language': 'en_US',
        'Content-Type': 'application/x-www-form-urlencoded',
    },

    auth: {

        username: 'ClientID',
                password: 'Secret'
    }


})).then((response) => {

    console.log(response);

}).catch((err) => {console.log(err);});

Ich habe es gelöst! Ich habe einen Gist erstellt, um zu zeigen, wie ich es gelöst habe, wenn jemand Hilfe braucht: https://gist.github.com/TigaxMT/b57c11df3e4ebd0510858ec3df775efa

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

ghost picture ghost  ·  3Kommentare

altruisticsoftware picture altruisticsoftware  ·  3Kommentare

achingbrain picture achingbrain  ·  3Kommentare

Shu-Ji picture Shu-Ji  ·  3Kommentare

samayo picture samayo  ·  3Kommentare