Axios: Saya tidak bisa melakukan permintaan POST ke paypal API

Dibuat pada 15 Jan 2017  ·  3Komentar  ·  Sumber: axios/axios

Hai, masalah mi lebih merupakan pertanyaan, saya mencoba membuat axios melakukan permintaan POST yang melakukan hal yang sama dengan yang dilakukan curl ini:

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"

kode saya adalah ini:

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

saya memanggilnya dari localhost saya, dan itu memberi saya kesalahan 401. Ini adalah tautan ke API PAYPAL https://developer.paypal.com/docs/integration/direct/make-your-first-call/

Membaca ulang dokumen saya tidak dapat memahami di mana harus meletakkan nama pengguna dan kata sandi atau cara mengatur otorisasi ke basicOuth
instance.defaults.headers.common['Authorization'] = AUTH_TOKEN;
apa itu AUTH_TOKEN? adalah sebuah konstanta? nilai apa yang harus saya berikan?

Bagaimanapun, terima kasih sebelumnya.

Komentar yang paling membantu

Saya memecahkannya! Saya membuat Intisari untuk menunjukkan bagaimana saya menyelesaikannya jika seseorang membutuhkan bantuan: https://Gist.github.com/TigaxMT/b57c11df3e4ebd0510858ec3df775efa

Semua 3 komentar

Anda perlu mengautentikasi dengan nama pengguna dan kata sandi menggunakan autentikasi dasar. Anda juga mengirim JSON dengan permintaan itu dan versi curl menggunakan "application/x-www-form-urlencoded". Silakan baca dokumentasi:

@Spartano Anda memecahkan masalah? Saya mencoba melakukan hal yang sama dan memberi saya 401 juga dan pesan ini "Otentikasi gagal karena kredensial otentikasi tidak valid atau header Otorisasi hilang."

Kode saya di sini:

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

Saya memecahkannya! Saya membuat Intisari untuk menunjukkan bagaimana saya menyelesaikannya jika seseorang membutuhkan bantuan: https://Gist.github.com/TigaxMT/b57c11df3e4ebd0510858ec3df775efa

Apakah halaman ini membantu?
0 / 5 - 0 peringkat