2015-01-20 9 views

Antwort

54

Zuerst möchten Sie ein gültiges OAuth-Token und -Sekript anfordern. Tun Sie dies, indem Sie die/oauth/URL des Magento-Speichers mit einem GET-Parameter für oauth_callback initiieren. Wir verwenden httpbin, damit wir alles wiedergeben können, was an unseren Callback übergeben wurde. Stellen Sie sicher, dass in den OAuth 1.0-Einstellungen für Post-Manager "Parameter automatisch hinzufügen" aktiviert ist.

OAuth Token Request

, dass Sie einen oauth_token und oauth_token_secret geben, die nur vorübergehend sind. Diese werden als "Anfrage-Token" und geheim bezeichnet. Speichern Sie diese Werte irgendwo, weil Sie sie später benötigen.

OAuth Token Response

nun eine neue regelmäßige HTTP-Anforderung an die/admin/oauth_authorize URL Ihrer Magento Shop zusammenzustellen. Dadurch erhalten Sie ein Login-Formular, in dem Sie das OAuth-Token akzeptieren und Ihre App autorisieren können. Da wir Postman verwenden, können wir jedoch nicht mit dem Formular interagieren.

OAuth Authorization Form

Stattdessen sehen die Quelle und ziehen Sie den form_key versteckten Eingabewert. Erstellen Sie dann eine neue HTTP-Anfrage, um die Einreichung des Autorisierungsformulars zu fälschen. Stellen Sie sicher, dass es sich um eine POST-Anfrage handelt. Ihre neue HTTP-Anfrage sollte so aussehen.

OAuth Authorization Form Submit

Jetzt müssen Sie tatsächlich die Genehmigung bestätigen. Geben Sie einfach einen GET-Befehl an die/admin/oauth_authorize/confirm-URL Ihres Magento-Shops mit dem oauth_token als Parameter aus. Wenn Sie diese Anfrage senden, wird sie vom ersten Schritt an zu Ihrem oauth_callback weitergeleitet. Jetzt können Sie sehen, warum wir im ersten Schritt httpbin als Callback verwendet haben.

OAuth Authorization Confirmation

OK. Also, wir sind fast zu Hause. Der letzte Teil des Puzzles besteht darin, oauth_token, oauth_secret und oauth_verifier alle zusammen zu verwenden, um ein gültiges und dauerhaftes "Zugriffstoken" zu erhalten. Nehmen Sie also den oauth_token_secret aus dem ersten Schritt und kombinieren und erstellen Sie eine neue OAuth-Anforderung wie folgt.

OAuth Token

Sie sollten einen zurück Token und Geheimnis bekommen. Diese werden niemals ablaufen! Sie können sie verwenden, um Produkte und Artikel abzufragen.

OAuth Token Response

Jetzt können Sie Ihre OAuth Anfragen wie diese zusammenzustellen. Edit: Hinweis: Sie müssen das Kontrollkästchen "Parameter zur Kopfzeile hinzufügen" aktivieren, damit Magento REST-Aufrufe ordnungsgemäß funktionieren.

OAuth REST Request

+1

Vielen Dank ... Sie haben mir zur Verfügung gestellt, was ich eigentlich brauche..danke –

+1

Danke eine Million ... Genau das, was ich brauche, um die Magento REST API anzufordern! –

+0

@Franklin P Strube Ich greife von einer iOS App aus darauf zu. Ist dies der richtige Weg, um das Login-Fenster in Schritt 2 zu umgehen (den form_key holen)? Ich möchte nicht, dass der Benutzer den Benutzernamen und das Passwort eingeben – Nil

2

@Franklin P Strube Leider habe ich nicht genug Ruf um einen Kommentar hinzuzufügen.

Ich möchte Folgendes hinzufügen.Die Magento-REST-API benötigt nicht beide Parameter für outh in den URL- und Oauth-Headern. Dies ist oben nicht wirklich angegeben. Sehen Sie sich die letzte Notiz an, in der steht, dass Sie "Parameter zur Kopfzeile hinzufügen" müssen. Sie müssen dies tun, aber wenn Sie das tun, werden Sie feststellen, dass es sowohl URL-Parameter als auch OAuth-Header sendet. Sie brauchen die URLs nicht, es funktioniert ohne sie. BTW: Die Franklin-Antwort hat super funktioniert!

Verwandte Themen