AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi REST-Zugriff auf Magento 2 (OAuth)
Thema durchsuchen
Ansicht
Themen-Optionen

REST-Zugriff auf Magento 2 (OAuth)

Ein Thema von STEP · begonnen am 7. Jun 2017 · letzter Beitrag vom 30. Jan 2018
Antwort Antwort
STEP

Registriert seit: 28. Feb 2013
2 Beiträge
 
#1

AW: REST-Zugriff auf Magento 2 (OAuth)

  Alt 7. Jun 2017, 10:26
Hier mal die beiden Auszüge aus Wireshark.

Delphi:
Code:
GET /index.php/rest/V1/orders?searchCriteria%5Bfilter_groups%5D%5B0%5D%5Bfilters%5D%5B0%5D%5Bfield%5D=created_at&searchCriteria%5Bfilter_groups%5D%5B0%5D%5Bfilters%5D%5B0%5D%5Bvalue%5D=2016-07-01%2000:00:00&searchCriteria%5Bfilter_groups%5D%5B0%5D%5Bfilters%5D%5B0%5D%5Bcondition_type%5D=gt HTTP/1.1
Accept-Language: null
DNT: 1
Connection: keep-alive
Authorization: OAuth oauth_consumer_key="5cbx1us6n7tpn5iv0a33p6iyq0otupsp", oauth_nonce="D4F1CF6F5DBB4F833D6CE644D3C20D95", oauth_signature="iXk6yBvuasDKnbdcxfATSQRJ%2BEg%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1496824715", oauth_token="nvoankn2g8jraga3k22ax9eyf55lqk9e", oauth_version="1.0"
Host: 192.168.200.108
Accept: */*
Accept-Charset: UTF-8
Accept-Encoding: gzip, deflate, identity
User-Agent: Embarcadero RESTClient/1.0
Cookie: mage-messages=%5B%5D; private_content_version=c6f9e0919d7028c78ee63e79593ef689
Firefox:
Code:
GET /index.php/rest/V1/orders?searchCriteria[filter_groups][0][filters][0][field]=created_at&searchCriteria[filter_groups][0][filters][0][value]=2016-07-01%2000:00:00&searchCriteria[filter_groups][0][filters][0][condition_type]=gt HTTP/1.1
Host: 192.168.200.108
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0
Accept: */*
Accept-Language: null
Accept-Encoding: gzip, deflate
Authorization: OAuth oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_nonce="5xayplNhc6EVeoM", oauth_timestamp="1496824768", oauth_consumer_key="5cbx1us6n7tpn5iv0a33p6iyq0otupsp", oauth_token="nvoankn2g8jraga3k22ax9eyf55lqk9e", oauth_signature="Vl8tCEx%2F3abTjQFcxSfWcpzQ%2FHE%3D"
Cookie: private_content_version=c6f9e0919d7028c78ee63e79593ef689; mage-messages=%5B%5D
DNT: 1
Connection: keep-alive
Bei Delphi hab ich im Accept-Encoding immer 'identity' drin, welches ich aber irgendwie nicht raus bekomme.
Wenn ich bei der RESTRequest die Eigenschaft 'URLAlreadyEncoded' auf 'true' setze, wird die URL nicht codiert und sieht aus wie bei Firefox. Allerdings bekomme ich dann, wie oben beschrieben, ein HTML mit '400 Bad Request' zurück.

Oder übersehe ich einen Unterschied?

Edit: Habe auch mal das 'Accept-Charset', was bei Delphi im Request war, entfernt. Hilft aber leider auch nicht.

Geändert von STEP ( 7. Jun 2017 um 10:59 Uhr)
  Mit Zitat antworten Zitat
ChessDev

Registriert seit: 29. Dez 2017
1 Beiträge
 
#2

AW: REST-Zugriff auf Magento 2 (OAuth)

  Alt 29. Dez 2017, 16:28
Habe das selbe Problem, gibt es mittlerweile eine Lösung?

Code:
OAuth1Authenticator1.ResetToDefaults;
OAuth1Authenticator1.AccessToken := 'c0dw1h3g9lo8p6brbe4wkgb4bif73vw2';
OAuth1Authenticator1.AccessTokenSecret := 'pyauiwjvayyqncwh92ywovij3xvwpwds';
OAuth1Authenticator1.ConsumerKey := 'src5215m9flp31o8rab3oy8vg5g7wgfq';
OAuth1Authenticator1.ConsumerSecret := '8r43qbog5eig2hn9v0tk40gha0n4mm4l';

RESTClient2.ResetToDefaults;
RESTRequest2.ResetToDefaults;

RESTClient2.Authenticator := OAuth1Authenticator1;

RESTClient2.BaseURL := 'http://192.168.115.119/magento_version2';
RESTRequest2.Resource := '/rest/V1/orders';

RESTRequest2.AddParameter('searchCriteria[filter_groups][0][filters][0][field]','entity_id');
RESTRequest2.AddParameter('searchCriteria[filter_groups][0][filters][0][value]','1');

RESTRequest2.Client := RESTClient2;
RESTRequest2.Response := RESTResponse2;
RESTRequest2.Method := TRESTRequestMethod.rmGET;
RestRequest2.AutoCreateParams := true;
RESTRequest2.URLAlreadyEncoded := true;

RESTRequest2.Execute;
Unter Linux mit "nc -v -l -p 80" ausgelesen:
Code:
GET /magento_version2/rest/V1/orders?searchCriteria%5Bfilter_groups%5D%5B0%5D%5Bfilters%5D%5B0%5D%5Bfield%5D=entity_id&searchCriteria%5Bfilter_groups%5D%5B0%5D%5Bfilters%5D%5B0%5D%5Bvalue%5D=1 HTTP/1.1
Connection: Keep-Alive
Accept: application/json, text/plain; q=0.9, text/html;q=0.8,
Accept-Charset: UTF-8, *;q=0.8
Authorization: OAuth oauth_consumer_key="src5215m9flp31o8rab3oy8vg5g7wgfq", oauth_nonce="d10e95d70ce9857c70e92687a50f7548", oauth_signature_method="HMAC-SHA1", oauth_signature="Avu45JSovrvQhQMv9MgiL%2Bf%2BccI%3D", oauth_timestamp="1514564618", oauth_token="c0dw1h3g9lo8p6brbe4wkgb4bif73vw2", oauth_version="1.0"
User-Agent: Embarcadero RESTClient/1.0
Host: 192.168.115.119

Folgende URL funktioniert: "http://192.168.115.119/magento_version2/rest/V1/orders/1"
Das Kodieren der Sonderzeichen lässt sich meines Wissens nach nicht abschalten, habe es bis zur WinHTTP-Klasse debuggt.

Wenn jemand ein funktionierendes Beispiel hätte wäre das super.
  Mit Zitat antworten Zitat
schotte77

Registriert seit: 13. Dez 2009
2 Beiträge
 
#3

AW: REST-Zugriff auf Magento 2 (OAuth)

  Alt 30. Jan 2018, 06:01
Hallo,

OAuth1Authenticator1.AccessToken := 'c0dw1h3g9lo8p6brbe4wkgb4bif73vw2';
OAuth1Authenticator1.AccessTokenSecret := 'pyauiwjvayyqncwh92ywovij3xvwpwds';
OAuth1Authenticator1.ConsumerKey := 'src5215m9flp31o8rab3oy8vg5g7wgfq';
OAuth1Authenticator1.ConsumerSecret := '8r43qbog5eig2hn9v0tk40gha0n4mm4l';

stehen die z. B. ConsumerKey im magento backend?

Finde dort nichts. Tipp?
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz