Bắt đầu với API Magento REST


8

Vì vậy, tài liệu chính thức rất ngắn gọn (tệ!), Đặc biệt đối với người chưa từng làm việc với REST / Oauth trong quá khứ. Tôi đang sử dụng Magento 1.8.1 CE.

Ai đó có thể cung cấp một ví dụ PHP đơn giản về cách sử dụng API REST của Magento không?

Sử dụng mã ví dụ của họ ( http: //www.magentoc Commerce.com/api/rest/int sinhtion.html ) Tôi nhận được hai lỗi:

Message: Undefined index: state
Message: Use of undefined constant OAUTH_AUTH_TYPE_URI - assumed 'OAUTH_AUTH_TYPE_URI'

Cho đến nay tôi đã thực hiện:

  • Cài đặt phần mở rộng php oauth
  • Tạo ít nhất một sản phẩm trong Magento
  • Định cấu hình quyền tài nguyên cho người dùng Admin REST để truy xuất tất cả dữ liệu sản phẩm cho Quản trị viên
  • Tạo người tiêu dùng

Bất kỳ trợ giúp nào cũng được đánh giá rất cao.

EDIT : Tôi đã thu hẹp vấn đề thành (ngạc nhiên, ngạc nhiên!) OAuth không hoạt động đúng. Tôi đã từ bỏ và thay đổi vai trò và thuộc tính của Khách để cho phép tất cả. Sau đó, tôi đã thử nghiệm mọi thứ để xem liệu chúng có hoạt động không bằng cách điều hướng đến:

http://yourdomain/api/rest/products
http://yourdomain/api/rest/products/1/images

Tất cả mọi thứ đang thực sự làm việc. Nếu / khi tôi tìm ra cách xử lý xác thực đúng cách, tôi sẽ đăng câu trả lời.


Bạn có thể sử dụng các ví dụ được liệt kê ở đây để xác thực. magentoc Commerce.com/api/rest/ trộm . (cuộn xuống cho đến khi bạn thấy mã) Có một cho khách / khách hàng và một cho đăng nhập quản trị viên. Chúng cơ bản giống nhau, chỉ có url được gọi là khác nhau. Họ làm việc tốt cho tôi.
Marius

Tôi sẽ có một cái nhìn. Bây giờ tôi có khách đang làm việc, vì vậy tôi đang rối tung xác thực. Cảm ơn vì tiền hỗ trợ. Ngoài ra, bạn có phải tự tạo một tệp oauth_admin.php không? (xin lỗi nếu điều này được giải thích trong bài viết liên quan, nhưng tôi figured tôi muốn hỏi bạn kể từ khi bạn có nó làm việc (:-).
user2636834

Câu trả lời:


2

Vậy @ user2636834 bạn đã tìm ra cái này chưa?

Tôi nhớ khi tôi đang thiết lập một kịch bản thử nghiệm mà tôi đã gặp phải lỗi (s). Có vẻ như tôi chưa cài đặt Oauth: O. Vì vậy, trong ngắn hạn, tôi đã làm (chạy Ubuntu và làm theo các hướng dẫn này , cũng gặp phải lỗi này ):

pecl install oauth

Sau đó thêm extension=oauth.sovào php.iniphần "Phần mở rộng động". Sau đó khởi động lại Apache

Tôi đã thử các ví dụ từ trang Magento và gặp lỗi từ API:

"Yêu cầu xác thực / yêu cầu không hợp lệ"

Tôi đã phải thêm một 'Accept' => '*/*'tiêu đề cho $oauthClient->fetch()cuộc gọi. Sau đó nó hoạt động tốt.

Hy vọng bạn có thể chạy mọi thứ nếu bạn chưa có.


Tôi đã đăng một vấn đề tương tự ở đây -> magento.stackexchange.com/questions/63611/ . Tôi đã thử thêm 'Accept' => '*/*'vào $oauthClient->fetch()và vẫn nhận được 403 Forbiddenphản hồi. Một số người khác cho biết họ đã giải quyết 403 sau khi cài đặt SSL. Điều đó có thực sự cần thiết? (để rõ ràng, tôi đã cài đặt Oauth và tôi chỉ gặp lỗi 403 - không có lỗi nào khác)
gtr1971
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.