API Schnittstelle aufrufen mit WebRequest (VBA)

Hallo alle zusammen,

ich quäle jetzt solange schon rum mit der Nutzung der API Schnittstelle.

Ich bekomme beim Ausführen der WebRequest in VBA diese Fehlermeldung: {“success”:false,“message”:“Invalid or missing auth”}

Und das obwohl es im Browser eigentlich funktioniert.

Im folgenden findet ihr den VBA Code den ich nutzen möchte, um auf die Shopware-Artikeldaten zuzugreifen.

Private Sub ImportData()

Dim winHttpReq As Object
Set winHttpReq = CreateObject("WinHttp.WinHttpRequest.5.1")
Dim myURL As String

  myURL = "http://BENUTZERNAME:API-KEY@SHOPDOMAIN/api/articles"

  winHttpReq.Open "GET", myURL
  winHttpReq.Send
  MsgBox winHttpReq.ResponseText
    
End Sub

Was muss ich ändern, damit ich endlich die Daten in meine Tabelle bekomme?

Liebe Grüße

Basti

Ich glaube Dein Thema ist XHR cookie

@NextMike schrieb:

Ich glaube Dein Thema ist XHR cookie

Hm, also geht es darum einen Cookie über VBA zu senden? Scheint wieder ein neues Gebiet zu sein. Sicher dass es dann geht?

Kann mir nicht jemand kurz helfen und mir den entsprechenden Code schreiben? Komme auch für den Zeitaufwand auf. Einfach PN schicken.

Ich glaube es ist nicht möglich dich zu autorisieren mit Benutzernahme und Api-key in dem Url.

Das geht in VBA über WinHttpSetCredentials und als Authentication Scheme “Digest”.

Ich kenn mich mit VBA nicht aus, aber ich denke dass “Digest”-Authentifizierung Dein Problem sein dürfte.
Wir mussten für die Anbindung an unser WWS auch auf die “Basic”-Authentifizerung umstellen, was durch Änderungen an drei Zeilen im Shopware-Code möglich ist.

Ich habe nach folgendem Forumeintrag umgestellt und kann bezeugen, dass es funktioniert: 

https://forum.shopware.com/discussion/30178/api-aufruf-per-basicauth-statt-digest#Comment_177719

Hi Tinklohl, danke für die Info. Ich kam leider noch nicht dazu deinen Tipp auszuprobieren, werde dich aber auf dem Laufenden halten.

Hi,

ich würde auch gerne über das SW Api Daten in Excel importieren.

Seid Ihr mit dem Thema schon weitergekommen?

Danke und viele Grüsse

Jens

Ein halbwegs aktuels Excel kann .NET-dll’s einbinden. In so einer dll kann man den ganzen Zugriff auf die REST-API kapseln und die entsprechenden Funktionen aufrufen. mal nach Shopdoktor suchen, da gibt es .NET-Code dazu.