Ich habe Magento 1.7.0.2 auf Ubuntu 12.0.4 Server installiert und alles funktioniert.
Testen der REST-API mit einer Administratorrolle (http://1.2.3.4/magento/api/rest/products) Ich erhalte dieses Ergebnis:
%Vor%Ich habe eine Administratorrolle erstellt, die allen Zugriff auf alle gewährt, und das Token-Authentifizierungsverfahren war in Ordnung.
Ich habe versucht mit Magento Go Service, Bitnami VM und Windows Installer aber scheint, dass Webdienste nicht vorhanden sind (ich kann nur Benutzer / Rolle unter Web Services sehen).
Wussten Sie, dass Magento mit REST API funktioniert?
Wie kann ich diese Art von Fehler debuggen? Ich habe es mit verschiedenen REST-Clients versucht.
Danke!
Haben Sie Berechtigungen für Rollen und Attribute festgelegt? Wenn nicht, tu es zuerst magentocommerce.com/api/rest/permission_settings /
Überprüfen Sie den folgenden Beitrag. Dies kann für Sie hilfreich sein.
und auch
Dank dem chanz dort, fand ich die Lösung für mein eigenes Problem.
Es scheint die OAuth-Parameter nicht als Abfragezeichenfolge zu akzeptieren Parameter. Ich habe versucht, sie als HTTP-Header zu senden, und es ist durchgehen.
Quelle: Ссылка
Stellen Sie sicher, dass Sie die richtigen Einstellungen für System > Web Services > Web Roles
und System > Web Services > Web Attributes
haben.
Es ist auch hilfreich, die Ruby oAuth-Bibliothek zu verwenden, weil "sie sauber, einfach und gut funktioniert". Siehe Beitrag there .
Sie sollten diese für dieses Problem in api versuchen: -
1) Ändern Sie den Wert in der Datei /app/code/core/Mage/Api2/Model/Auth.php, ändern Sie den Wert von: DEFAULT_USER_TYPE = 'Gast' zu DEFAULT_USER_TYPE = 'admin'.
2) Ändern Sie den Wert in der Datei /app/code/core/Mage/Api2/Model/Auth/Adapter.php, ändere diese Zeile von Rückgabe (Objekt) Array ('Typ' = & gt; Mage_Api2_Model_Auth :: DEFAULT_USER_TYPE, 'ID' = & gt; null); zu diesem: Rückgabe (Objekt) Array ('Typ' = & gt; Mage_Api2_Model_Auth :: DEFAULT_USER_TYPE, 'ID' = & gt; '1'); (Hinweis: Ändern Sie NULL nur in '1').
3) Starten Sie Ihren Server neu (für Apache führen Sie diesen Befehl aus: sudo service apache2 restart). Ich hoffe, dass diese Schritte Ihr 403 Zugriff verweigert Problem beheben.