Es fällt mir schwer, Bestellungen von der Magento REST-API abzurufen, wenn ich die GET-Filter wie z http://localhost/magento/api/rest/orders/?filter[1][attribute]=entity_id&filter[1][gt]=70&page=1&limit=100
Es gibt ein "error":[{"code":401,"message":"oauth_problem=signature_invalid"}]
Wenn ich versuche, denselben API-Endpunkt mit einem REST-Client wie Postman zu erreichen, erhalte ich die gewünschten JSON-Ergebnisse zurück.
Ich vermute, dass die eckigen Klammern in der Filterabfrage ein Problem beim Generieren einer Oauth-Signatur verursachen. Alle Endpunkte ohne GET-Filter funktionieren einwandfrei. Ich verwende das Anforderungsknotenmodul, um die GET-Anforderung mit den oauth-Headern zu erstellen.
Gibt es eine Lösung, um den ungültigen Signaturfehler zu vermeiden?
quelle
Antworten:
Haben Sie es geschafft, die Namen und Werte von Parametern zu kodieren?
Ich hatte auch dieses Problem und das hat mir geholfen.
Müssen Sie sicherstellen , dass Ihre Unterschrift Basis String - Parameter sind in alphabetischer Reihenfolge durch Parameternamen
Dies ist, was ich verwende, um Parameter in meiner Signaturbasis zu codieren.
Hoffe das hilft :)
quelle
Es gibt ein Problem mit dem Anbieter der Magento-Kernfunktionalität / magento / framework / Oauth / Oauth.php.
quelle
Der Trick besteht darin, dass Sie die eckigen Klammern in der Signatur-Basiszeichenfolge zweimal konvertieren müssen:
quelle