Hilfe
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 

comdirect-REST-API und VBA (Visual Basic) Nutzung

robprinz
Autor
13 Beiträge

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:

  1. Ist die VBA Variante seitens der comdirect-REST-API unterstützt (welche Voraussetzungen sind dazu erforderlich?)?
  2. Wo liegt der Fehler bei der VBA Implementierung, wenn VBA supportet ist?

 

Viele Grüße,

Robert

3 ANTWORTEN

dg2210
Legende
7.777 Beiträge

@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.



Bettina Orlopp : „Wir haben kein Erkenntnis-, sondern ein Umsetzungsproblem.“ (Focus online 24.06.2025)

SMT_Erik
ehemaliger Mitarbeiter
5.305 Beiträge

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

robprinz
Autor
13 Beiträge

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