Memulai dengan API REST Magento

8

Jadi dokumentasi resmi sangat singkat (buruk!), Terutama untuk seseorang yang belum pernah bekerja dengan REST / Oauth di masa lalu. Saya menggunakan Magento 1.8.1 CE.

Adakah yang bisa memberikan contoh PHP sederhana tentang cara menggunakan API REST Magento?

Menggunakan kode contoh mereka ( http://www.magentocommerce.com/api/rest/introduction.html ) saya mendapatkan dua kesalahan:

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

Sejauh ini saya sudah melakukan:

  • Instal ekstensi oauth php
  • Buat setidaknya satu produk di Magento
  • Konfigurasikan izin sumber daya untuk pengguna Admin REST untuk mengambil semua data produk untuk Admin
  • Buat Konsumen

Setiap bantuan sangat dihargai.

EDIT : Saya mempersempit masalah menjadi (kejutan, kejutan!) OAuth tidak berfungsi dengan baik. Saya menyerah dan mengubah peran dan atribut Tamu untuk memungkinkan semua. Kemudian, saya menguji beberapa hal untuk melihat apakah mereka berfungsi dengan menavigasi ke:

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

Semuanya memang berfungsi. Jika / ketika saya mengetahui cara menangani otentikasi dengan benar, saya akan memposting jawabannya.

pengguna2636834
sumber
Anda dapat menggunakan contoh yang tercantum di sini untuk otentikasi. magentocommerce.com/api/rest/… . (gulir ke bawah sampai Anda melihat kode) Ada satu untuk tamu / pelanggan dan satu untuk login admin. Mereka pada dasarnya sama, hanya url yang dipanggil berbeda. Mereka bekerja dengan baik untuk saya.
Marius
Saya akan lihat. Saya punya tamu yang bekerja sekarang, jadi saya mengacaukan otentikasi. Terima kasih atas tipnya. Juga, apakah Anda harus membuat file oauth_admin.php sendiri? (maaf jika ini dijelaskan dalam artikel yang ditautkan, tapi saya pikir saya akan bertanya kepada Anda karena Anda membuatnya berfungsi (:-).
user2636834

Jawaban:

2

Jadi @ user2636834 apakah Anda sudah tahu yang ini?

Saya ingat ketika saya sedang menyiapkan skenario pengujian yang saya dapatkan kesalahan sames. Sepertinya saya tidak menginstal Oauth: O. Jadi singkatnya saya lakukan (menjalankan Ubuntu dan mengikuti instruksi ini , juga mengalami kesalahan ini ):

pecl install oauth

Kemudian tambahkan extension=oauth.soke bagian php.ini"Dynamic Extensions". Kemudian restart Apache

Saya mencoba contoh-contoh dari situs Magento dan mendapat kesalahan dari API:

"Permintaan auth / bad salah"

Saya harus menambahkan 'Accept' => '*/*'header ke $oauthClient->fetch()panggilan. Setelah itu bekerja dengan baik.

Semoga Anda bisa menjalankan sesuatu jika Anda belum melakukannya.

7ochem
sumber
Saya memposting masalah serupa di sini -> magento.stackexchange.com/questions/63611/… . Saya mencoba menambahkan 'Accept' => '*/*'untuk $oauthClient->fetch()dan masih mendapatkan 403 Forbiddenrespon. Orang lain mengatakan mereka memecahkan 403 setelah menginstal SSL. Apakah itu benar-benar perlu? (hanya untuk memperjelas, saya telah Oauth diinstal dan saya hanya mendapatkan kesalahan 403 - tidak ada kesalahan lain)
gtr1971