Premiers pas avec l'API REST Magento


8

La documentation officielle est donc très concise (mauvaise!), En particulier pour quelqu'un qui n'a pas travaillé avec REST / Oauth dans le passé. J'utilise Magento 1.8.1 CE.

Quelqu'un peut-il fournir un exemple PHP simple de la façon d'utiliser l'API REST de Magento?

En utilisant leur exemple de code ( http://www.magentocommerce.com/api/rest/introduction.html ) j'obtiens deux erreurs:

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

Jusqu'à présent, j'ai fait:

  • Installer l'extension php oauth
  • Créer au moins un produit dans Magento
  • Configurer les autorisations de ressources pour l'utilisateur Admin REST pour récupérer toutes les données de produit pour Admin
  • Créer un consommateur

Toute aide est grandement appréciée.

EDIT : J'ai réduit le problème à (surprise, surprise!) OAuth ne fonctionne pas correctement. J'ai abandonné et changé les rôles et les attributs d'invité pour tout autoriser. Ensuite, j'ai testé des choses pour voir si elles fonctionnaient en accédant à:

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

Tout fonctionne en effet. Si / quand je trouve comment gérer correctement l'authentification, je posterai la réponse.


Vous pouvez utiliser les exemples répertoriés ici pour l'authentification. magentocommerce.com/api/rest/… . (faites défiler vers le bas jusqu'à ce que vous voyiez le code) Il y en a un pour l'invité / client et un pour la connexion administrateur. Ils sont fondamentalement les mêmes, seule l'URL appelée est différente. Ils ont bien fonctionné pour moi.
— Marius

Je vais regarder. J'ai un invité qui travaille maintenant, donc je gâche l'authentification. Merci pour le conseil. De plus, avez-vous dû créer vous-même un fichier oauth_admin.php? (désolé si cela est expliqué dans l'article lié, mais j'ai pensé que je vous demanderais puisque vous l'avez fait fonctionner (:-).
— user2636834

Réponses:


2

Donc, @ user2636834 avez-vous déjà compris celui-ci?

Je me souviens quand je mettais en place un scénario de test que j'ai eu la même erreur (s). Semblait que je n'avais pas installé Oauth: O. Donc en bref, je l'ai fait (en exécutant Ubuntu et en suivant ces instructions , en rencontrant également cette erreur ):

pecl install oauth

Ajoutez ensuite extension=oauth.soà php.inila section "Dynamic Extensions". Redémarrez ensuite Apache

J'ai essayé les exemples du site Magento et j'ai reçu une erreur de l'API:

"Auth non valide / mauvaise requête"

J'ai dû ajouter un en- 'Accept' => '*/*'tête à l' $oauthClient->fetch()appel. Après cela, tout a très bien fonctionné.

J'espère que vous pourrez faire fonctionner les choses si vous ne l'aviez pas déjà fait.


J'ai posté un problème similaire ici -> magento.stackexchange.com/questions/63611/… . J'ai essayé d' ajouter 'Accept' => '*/*'à $oauthClient->fetch()et toujours obtenir une 403 Forbiddenréponse. Quelqu'un d'autre a dit avoir résolu le 403 après avoir installé SSL. Est-ce vraiment nécessaire? (juste pour être clair, j'ai installé Oauth et je ne reçois qu'une erreur 403 - pas d'autres erreurs)
— gtr1971
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.