am 27.04.2021 17:19
Hallo comdirect-REST-API Support,
Unter der Applikation Postman ist für die Nutzung der comdirect-REST-API der Code für unterschiedliche Programme aufgeführt (HTTP, PHP usw.). Für VBA (Visual Basic) ist dazu keine Dokumentation zu finden.
Per PHP unter macOS habe ich die comdirect-REST-API erfolgreich anwenden können. Mit VBA unter Microsoft Excel (Windows 10 mit Office 2016 inkl. der entsprechenden Einstellungen MS Office Object Library, Microsoft Scripting Runtime usw.) treten Probleme auf.
Analog zu Postman comdirect-REST-API Step "2.1 OAuth2 Resource Owner Password Credentials Flow” funktioniert VBA korrekt. Ab dem Step “2.2 Session-Status” meldet das VBA Programm bzw. das Macro einen Fehler 406 zurück (http error 406).
Ich habe beide Steps 2.2 unter PHP und VBA im „http“ statt im „https“ Request ausgeführt, die Parameter für die Autorisation (token type und access token) sowie der Part für den x-http-request-info sind identisch im Network-Tracing („http“ Variante diente nur zur Prüfung, um die Gleichheit der Formate zu verifizieren, wobei die Werte falsch waren).
Zwei Fragen:
Viele Grüße,
Robert
am 27.04.2021 19:11
@robprinz schrieb:Hallo comdirect-REST-API Support,
Unter der Applikation Postman ist für die Nutzung der comdirect-REST-API der Code für unterschiedliche Programme aufgeführt (HTTP, PHP usw.). Für VBA (Visual Basic) ist dazu keine Dokumentation zu finden.
Da herrscht wohl ein bisschen Verwirrung, die ich gerne aufkläre:
HTTP ist kein Programm und PHP ist eine Sprache.
REST-APIs sind grundsätzlich sprach-unabhängig, weil nur wohldefinierte HTTP-Anfragen/Antworten hin- und hergeschickt werden.
Postman ist ein Experimentier-Werkzeug, das u.A. Beispielcode für verschiedene Sprachen/Umgebungen erzeugt, dies hat nichts mit einer Unterstützung von Seiten der comdirect zu tun - die comdirect kann ja nicht einmal erkennen, wer den Request erzeugt hat...
Wenn du eine funktionierende und eine nicht-funktionierende Version hat, dann ist die Fehlersuche ganz einfach:
Protokolliere den Netzwerkverkehr beider Versionen und vergleiche diese. Dort, wo sich diese unterscheiden, suchst du nach dem Fehler.
am 28.04.2021 15:25
Hallo @robprinz,
wie @dg2210 bereits richtig angemerkt hat, ist die comdirect-REST-API sprachen-unabhängig. Bitte habe Verständnis, dass wir nicht für alle Programmiersprachen Code-Snippets zur Verfügung stellen können.
Der HTTP-Status 406 weist auf einen nicht gesetzten Header hin. Prüfe bitte, ob du bei deinem GET Session Aufruf der "Accept"-Header gesetzt wurde. Die Postman-Konsolenausgabe für die Requests in der Collection liefert dir die entsprechenden Informationen. Bitte beachte dabei, dass die von Postman angebotenen Code Snippets, von Postman erstellt werden und nicht von uns stammen.
Wir können an dieser Stelle zwar Verständnisfragen zur API beantworten, aber nicht bei der Implementierung unterstützen.
Gruß
Erik
am 01.05.2021 12:50
Hallo allerseits,
Herausforderung gelöst: Etablierung mit VBA unter Excel gelöst, wobei ich dies nur unter Windows 10 mit den entsprechenden Microsoft Office (MS) Einstellungen praktiziert hatte (Microsoft Scripting Library reference mindestens erforderlich: Microsoft Scripting Runtime und Microsoft WinHTTp Services).
Bitte beachten: unter macOS ist bedingt durch die Nichtverfügbarkeit von "Microsoft Scripting Runtime" eine VBA Etablierung aktuell nicht möglich (siehe MS offizielle Webseite).
Anmerkung zur VBA Etablierung: das Anführungszeichen (") bedingt einer besondern Behandlung unter VBA, sofern es in einem String vorkommen muss; es ist entsprechend zu maskieren / escapen.
Danke an alle für den Support.
Grüße,
Robert