Daher ist die offizielle Dokumentation sehr knapp (schlecht!), Insbesondere für jemanden, der in der Vergangenheit nicht mit REST / Oauth gearbeitet hat. Ich verwende Magento 1.8.1 CE.
Kann jemand ein einfaches PHP-Beispiel für die Verwendung der REST-API von Magento bereitstellen?
Bei Verwendung des Beispielcodes ( http://www.magentocommerce.com/api/rest/introduction.html ) erhalte ich zwei Fehler:
Message: Undefined index: state
Message: Use of undefined constant OAUTH_AUTH_TYPE_URI - assumed 'OAUTH_AUTH_TYPE_URI'
Bisher habe ich getan:
- Installieren Sie die PHP Oauth-Erweiterung
- Erstellen Sie mindestens ein Produkt in Magento
- Konfigurieren Sie Ressourcenberechtigungen für Admin-REST-Benutzer zum Abrufen aller Produktdaten für Admin
- Erstellen Sie einen Verbraucher
Jede Hilfe wird sehr geschätzt.
EDIT : Ich habe das Problem auf (Überraschung, Überraschung!) Eingegrenzt, dass OAuth nicht richtig funktioniert. Ich gab auf und änderte die Rollen und Attribute des Gastes, um alle zuzulassen. Dann habe ich Dinge getestet, um zu sehen, ob sie funktionieren, indem ich zu Folgendem navigierte:
http://yourdomain/api/rest/products
http://yourdomain/api/rest/products/1/images
Alles funktioniert tatsächlich. Wenn ich herausfinde, wie ich mit der Authentifizierung richtig umgehen soll, werde ich die Antwort veröffentlichen.
quelle
Antworten:
Also @ user2636834 hast du das schon herausgefunden?
Ich erinnere mich, als ich ein Testszenario einrichtete, dass ich die gleichen Fehler bekam. Es schien, als hätte ich Oauth nicht installiert: O. Kurz gesagt, ich habe es getan (Ubuntu ausführen und diese Anweisungen befolgen , auch auf diesen Fehler stoßen ):
Fügen Sie dann
extension=oauth.so
zumphp.ini
Abschnitt "Dynamische Erweiterungen" hinzu. Starten Sie dann Apache neuIch habe die Beispiele von der Magento-Site ausprobiert und von der API einen Fehler erhalten:
Ich musste
'Accept' => '*/*'
dem$oauthClient->fetch()
Anruf einen Header hinzufügen . Danach hat alles gut funktioniert.Ich hoffe, Sie können die Dinge zum Laufen bringen, wenn Sie es nicht schon getan haben.
quelle
'Accept' => '*/*'
zu$oauthClient->fetch()
und immer noch eine bekommen403 Forbidden
Antwort. Jemand anderes sagte, sie hätten den 403 nach der Installation von SSL gelöst. Ist das wirklich notwendig? (Nur um klar zu sein, ich habe Oauth installiert und ich erhalte nur einen 403-Fehler - keine anderen Fehler)