Veteran
Beiträge: 229
![100](http://donkarl.com/forum/images/decorations/multiple/100.gif) ![100](http://donkarl.com/forum/images/decorations/multiple/100.gif) ![25](http://donkarl.com/forum/images/decorations/multiple/25.gif) Ort: Badendorf | Hallo,
ich habe zwar noch keinen api-upload umgesetzt, habe mich aber vor einiger Zeit mit einem api download (JSON Daten) gequält.
- die api Schnittstellen arbeiten oft mit JSON, da musst Du schauen, ob Du das auch brauchst, dann musst Du das vorher codieren, das ist auch etwas Arbeit mit Access.
- meine 2te große Hürde war das Thema Zertifikate, das sagt ein Kunde nämlich oft nicht, welches er hat => selbst ermitteln
- achte darauf, dass Dein Kunde auch POST für die Schnittstelle freigeschaltet hat (hatte meiner nicht, hat mich 3 volle Arbeitstage gekostet)
Ich würde zuerst versuchen, Daten aus einer TestDatei zu holen, damit Du sicher die richtigen api Daten hast. Wenn das geht (erst dann) würde ich von GET auf POST schalten.
Wenn der Code fertig ist, sieht immer alles ganz einfach aus, der Weg dahin kann sehr dornig sein.
viel Erfolg
Rudolf
hier der funktionierende Code des Downloads, vielleicht kannst Du den auf POST übertragen. Wenn es klappt, wäre ich dankbar für den.
------------------
Set objHttp = CreateObject("MSXML2.ServerXMLHTTP") 'die XMLhttp API verwenden
Call objHttp.Open("GET", URL, False)
Call objHttp.SetOption(2, 13056) ' selbst signierte SSL Zertificate akzeptieren
Call objHttp.setRequestHeader("Content-Type", "text/xml")
Call objHttp.setRequestHeader("Authorization", "apikey=" & ApiKey) ' der api Schlüssel wird vorher in eine Variable gespeichert
objHttp.Send ""
If objHttp.Status <> 200 Then
MsgBox "die verwendete URL oder das Passwort ist nicht gültig. Fehlercode = " & objHttp.Status & ". Die Daten konnten nicht geholt werden."
DoCmd.Close
End If
txt = objHttp.ResponseText 'txt enthält den Text des Files (Directory Inhaltsverzeichnis)
Set objHttp = Nothing |