2015-01-20 16 views
18

Tôi là người mới bắt đầu với API REST Magento, cách tôi sẽ nhận được mã thông báo và mã thông báo bí mật để được điền vào yêu cầu phục hồi Postman REST. Tôi chỉ có chìa khóa người tiêu dùng và bí mật của người tiêu dùng. Vui lòng cung cấp cho tôi các bước để làm theo.Cách sử dụng ứng dụng khách POSTMAN với magento REST api với Oauth. Làm thế nào để có được Token và Token Secret?

+0

Chúng ta có thể có câu trả lời cho Magento2 cho câu hỏi này không? – Manish

Trả lời

54

Trước tiên, bạn muốn yêu cầu mã thông báo và mật khẩu OAuth hợp lệ. Làm điều này bằng cách nhấn/oauth/initiate URL của cửa hàng Magento của bạn với tham số GET cho oauth_callback. Chúng ta sẽ sử dụng httpbin để chúng ta có thể lặp lại bất cứ thứ gì được chuyển tới hàm gọi lại của chúng ta. Đảm bảo bạn đã chọn "Tự động thêm thông số" trên cài đặt OAuth 1.0 cho Người đăng bài.

OAuth Token Request

Điều đó sẽ cung cấp cho bạn một oauth_token và oauth_token_secret, đó là chỉ là tạm thời. Đây được gọi là "mã thông báo yêu cầu" và bí mật. Lưu các giá trị này ở đâu đó vì bạn sẽ cần chúng sau này.

OAuth Token Response

Bây giờ, lắp ráp một yêu cầu HTTP thông thường mới đến URL/admin/oauth_authorize của cửa hàng Magento của bạn. Điều này sẽ trả về biểu mẫu đăng nhập mà bạn có thể chấp nhận mã thông báo oauth và ủy quyền cho ứng dụng của bạn, tuy nhiên vì chúng tôi đang sử dụng Người đăng bài, chúng tôi không thể tương tác với biểu mẫu.

OAuth Authorization Form

Thay vào đó, xem mã nguồn và rút khỏi các form_key giá trị đầu vào ẩn. Sau đó, lắp ráp một yêu cầu HTTP mới để giả mạo việc gửi biểu mẫu ủy quyền. Đảm bảo đó là yêu cầu POST. Yêu cầu HTTP mới của bạn sẽ trông như thế này.

OAuth Authorization Form Submit

Bây giờ, bạn cần thực sự xác nhận ủy quyền. Chỉ cần đưa GET vào/admin/oauth_authorize/xác nhận URL của cửa hàng Magento của bạn với oauth_token làm thông số của bạn. Khi bạn gửi yêu cầu này, nó sẽ chuyển hướng đến oauth_callback của bạn từ bước đầu tiên. Bây giờ, bạn có thể thấy lý do tại sao chúng tôi sử dụng httpbin làm gọi lại trong bước đầu tiên.

OAuth Authorization Confirmation

OK. Vì vậy, chúng tôi gần như về nhà. Phần cuối cùng của câu đố là sử dụng oauth_token, oauth_secret và oauth_verifier cùng nhau để nhận "mã thông báo truy cập" hợp lệ và liên tục. Vì vậy, hãy lấy oauth_token_secret từ bước đầu tiên và kết hợp và lắp ráp một yêu cầu OAuth mới như vậy.

OAuth Token

Bạn sẽ nhận được mã thông báo và mật khẩu trả về. Những điều này sẽ không bao giờ hết hạn! Bạn có thể sử dụng chúng để truy vấn sản phẩm và nội dung.

OAuth Token Response

Bây giờ, bạn có thể lắp ráp yêu cầu OAuth bạn như thế này. Chỉnh sửa: Lưu ý, bạn phải chọn hộp kiểm "Thêm thông số vào tiêu đề" để các lệnh gọi Magento REST hoạt động bình thường.

OAuth REST Request

+1

Cảm ơn rất nhiều ... bạn đã cung cấp cho tôi những gì tôi thực sự cần .. cảm ơn –

+1

Cảm ơn một triệu ... Chính xác những gì tôi cần để bắt đầu yêu cầu API REST Magento! –

+0

@Franklin P Strube Tôi đang truy cập nó từ một ứng dụng iOS. Đây có phải là cách đúng để bỏ qua cửa sổ đăng nhập ở bước 2 (tìm nạp form_key) không? Tôi không muốn người dùng nhập tên người dùng và mật khẩu – Nil

2

@Franklin P Strube Thật không may, tôi không có đủ uy tín để thêm nhận xét.

Tôi muốn thêm thông tin sau.API REST của Magento không yêu cầu cả hai tham số outh trên URL và tiêu đề Oauth. Điều này không thực sự được nêu ở trên. Xem lưu ý cuối cùng, nơi nó nói rằng bạn cần phải "thêm params vào tiêu đề". Bạn cần phải làm điều này, nhưng khi bạn làm bạn sẽ tìm thấy nó sẽ gửi cả hai params url và tiêu đề oauth. Bạn không cần parms url, nó sẽ hoạt động tốt mà không có chúng. btw: phản hồi franklin hoạt động rất tốt!

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