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.
la source
Réponses:
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 ):
Ajoutez ensuite
extension=oauth.so
àphp.ini
la section "Dynamic Extensions". Redémarrez ensuite ApacheJ'ai essayé les exemples du site Magento et j'ai reçu une erreur de l'API:
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.
la source
'Accept' => '*/*'
à$oauthClient->fetch()
et toujours obtenir une403 Forbidden
ré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)