2013-01-16 19 views
7

Tôi đã truy xuất mã ủy quyền ở Bước 1 của OAuth mà không gặp sự cố, nhưng trong cuộc sống của tôi, tôi không thể hoàn thành bài đăng để nhận mã thông báo truy cập. Tôi luôn luôn nhận được lỗi tương tự:Shopify: Sự cố Nhận mã thông báo truy cập OAuth

content: "{"error":"invalid_request","error_description":"Could not find Shopify API appli... (length: 103)"

Đây là những gì mã của tôi trông giống như ... Meteor.http.post là một bài yêu cầu tiêu chuẩn. Tôi đã thử tất cả các loại kết hợp mà không có bất kỳ may mắn nào. Tôi đang phát triển trên localhost:

var url = 'https://' + shopName + '/admin/oauth/access_token';  
var data = { client_id: apiKey, client_secret: secret, code: code }; 

Meteor.http.post(url, data, 
    function(error, result) { 
     debugger; 
    }); 

Meteor.post là một tiêu chuẩn server-side bài yêu cầu documented here. Tôi đã thử params (như Node Wrapper), một mảng (như PHP) và một sự kết hợp của những thứ khác. Tôi không có ý kiến.

Có phải vì tôi đang phát triển trên máy chủ cục bộ và cuộc gọi máy chủ yêu cầu https ngay bây giờ? Cấu trúc dữ liệu bài đăng của tôi có sai không?

Bất kỳ ý tưởng nào khác về những gì tôi đang làm sai?

+0

Trong trường hợp này, tôi xem xét yêu cầu/phản hồi HTTP đầy đủ với công cụ như Fiddler hoặc Charles [http://www.charlesproxy.com/] để đảm bảo rằng yêu cầu trông giống như nó trông như thế nào. –

+0

Thông báo lỗi đó là khi 'client_id' của bạn sai. Kiểm tra kỹ xem bạn có đang sử dụng một khóa cho một ứng dụng hợp lệ không. – Samuel

+0

@Samuel Đó là đúng bởi vì nó đang được sử dụng trước đó trong quá trình để lấy mã ủy quyền. – Brandon

Trả lời

3

Tôi biết bạn đã nói bạn đã thử các tham số nhưng việc đặt các tham số vào dưới dạng dữ liệu như vậy sẽ không hoạt động. Hãy thử điều này ..

var url = 'https://' + shopName + '/admin/oauth/access_token';  
var data = { client_id: apiKey, client_secret: secret, code: code }; 

Meteor.http.post(url, {params:data}, 
    function(error, result) { 
     debugger; 
}); 
+0

Tôi chắc chắn rằng tôi đã thử sự kết hợp đó nhưng nó hoạt động giống như bạn đã nói, Ai biết điều gì đã xảy ra vì tôi dường như không thử phương pháp cụ thể đó. Wow. Dù sao, nhờ sự giúp đỡ. – Brandon