2017-01-20 15 views
5

Tôi đang thử nghiệm API Uber trên Người đăng bài và tôi có thể gửi yêu cầu với dữ liệu biểu mẫu thành công. Khi tôi cố gắng dịch yêu cầu này bằng cách sử dụng Node.js và thư viện trục tôi gặp lỗi.Dữ liệu biểu mẫu bài đăng có các trục trong Node.js

Đây là những gì yêu cầu Postman của tôi trông giống như:

Postman POST request

Câu trả lời tôi nhận được là: { "error": "invalid_client" }

Đây là những gì tôi đang làm trong Node.js và 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) 
    }) 

Khi tôi làm điều này, tôi nhận được phản hồi 400.

Tôi đã thêm tiêu đề 'multipart/form-data' vì tôi điền vào biểu mẫu dữ liệu trong yêu cầu Postman. Nếu không có tiêu đề tôi nhận được kết quả tương tự.

Tôi đang mong nhận được phản hồi tương tự mà tôi nhận được từ Postman, có vấn đề gì với biến cấu hình của tôi trong tập lệnh Node.js không?

Mọi trợ giúp sẽ được đánh giá cao!

+0

Dường như bạn đang gửi thông số bổ sung trong lệnh gọi API của mình .. Khi bạn gửi các thông số bổ sung, bạn có xu hướng nhận được lỗi 'Khách hàng không hợp lệ' này. –

+0

Bạn đã thử truyền dữ liệu bằng cách sử dụng 'querystring.stringify'? Như thế này: 'var querystring = require ('querystring'); axios.post ('http://something.com/', querystring.stringify ({foo: 'bar'}); ' –

+0

@KingJulien gói dữ liệu trong mô-đun truy vấn không giúp tôi trong thời gian này .. . – Mike

Trả lời

1

Từ lỗi có vẻ như client_id hoặc client_secret của bạn không chính xác. Bật gỡ lỗi và chia sẻ yêu cầu/phản hồi thô (sau khi lọc thông tin đăng nhập).

4

Kể từ ngày 10 tháng 6 năm 2017, thư viện axios không hỗ trợ dữ liệu biểu mẫu đăng bài trong Node.js. Đây là vấn đề trên GitHub - https://github.com/mzabriskie/axios/issues/789

Chúng tôi đã gặp sự cố tương tự và quyết định chuyển sang thư viện request.

Các vấn đề liên quan