Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Weclapp Api

Forumthread: Weclapp Api

Weclapp Api
19.10.2019 13:31:41
Dennis
Hallo,
ich würde gerne die Weclapp API via vba anzapfen. Habe vor jahren etwas mit vba gearbeitet und bin un arg eingerostet, da nicht genutzt, Ich werde erschlagen von Begriffen wie Curl Json, usw.
die Api Dokumentation ist hier: https://www.weclapp.com/api2/
Ich habe zur Authentifizierung einen API-Token.
- Wie müsste ein API Abfrage via VBA aussehen um zb. einen Lagerbestand aus Zelle A2 zu nehmen und mittels API im System zu aktualisieren ?
- Wie würde man selbigen Wert aus dem System holen und in eine Zelle schreiben?
PS.: Ich hatte diese Frage so ähnlich schonmal formuliert, aber irgendwie verschwand der Beitrag in der Versenkung :-) Sorry aber das ist mir echt wichtig und ich habe niemand der mir helfen kann. Danke
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Weclapp Api
19.10.2019 21:39:37
mumpel
Hallo!
Mit dem im "Getting startet" gezeigten Code kann man in VBA nichts anfangen. Ein Möglichkeit zum Umschreiben auf VBA sehe ich nicht, da das keine klassiche Windows-API ist. Das beruht alles auf JSON, vielleicht kann man das irgendwann mal in "Office Script" (eine von MS speziell für Office-Web entwickelte Scriptsprache, die ist aber noch immer experimentell).
Gruß, René
Anzeige
AW: Weclapp Api
20.10.2019 08:15:43
ChrisL
Hi Dennis
https://www.herber.de/forum_mobile/cgi-bin/call_thread.pl?index=1717295
Muster:
https://meier.weclapp.com/webapp/api/v1/article/count
Anzahl Artikel (article count) ist eine von unzähligen Ressourcen (hier zu Testzwecken verwendet). Wenn du den Link im Browser testest, dann kommt zwar "unauthorized", aber immerhin kommt ein Ergebnis.
Meier (=tenant) musst du durch etwas sinnvolles (Kontoname o.ä.) ersetzen und den Token anwenden (siehe Link im letzten Beitrag).
Wenn es darum geht die Spezifikationen deiner API zu studieren, bist du auf dich alleine gestellt. Niemand kann testen und es fehlt der Zusammenhang mit Excel (sprich falsches Forum). Aber zuerst brauchst du mal eine positive Rückmeldung von der Schnittstelle.
cu
Chris
Anzeige
AW: Weclapp Api
20.10.2019 18:19:32
Dennis
Hallo, Danke Chris, ich bin fast am Ziel Ich habe den "Microsoft Scripting runtime" Verweis aktiviert und weil "Json as Dictionary" einen Fehler auswarf, einen parser von github gesucht und installiert.
Sheet1 warf ebenso ein Fehler aus und habe es geändert in Tabelle1. Hier ist der finale Code (ohne Api key und mit geänderten Tenant)
ub GetAsanaData()
Dim hReq As Object, Json As Dictionary
Dim sht As Worksheet
Dim authKey As String
authKey = "dies ist mein apikey"
'Set sht = Tabelle1
Dim strUrl As String
strUrl = "https://meyer.weclapp.com/webapp/api/v1/article/count"
Set hReq = CreateObject("MSXML2.XMLHTTP")
With hReq
.Open "GET", strUrl, False
.SetRequestHeader "Authorization", "Bearer " & authKey
.Send
End With
Dim response As String
response = hReq.ResponseText
MsgBox response
End Sub
Leider kommt noch immer "unauthorised" als Rückmeldung. Ich habe die Count URL im Browser getestet und ich bekomme die richtige Zahl zurück. Wenn Die Authorisierung klappen würde, könnte ich anfangen mit den Daten zu spielen.
Kann man erkennen wo es hakt ? Die Weclapp api erklärungen bringen mich nicht mehr weiter.
Anzeige
AW: Weclapp Api
20.10.2019 19:26:32
ChrisL
vielleicht muss Bearer durch AuthenticationToken: ersetzt werden. Womöglich kannst du den Token auch direkt im URL verwenden.
AuthenticationToken:{api_token} https://<tenant>.weclapp.com/webapp/api/v1/...
AW: Weclapp Api
20.10.2019 21:03:34
Dennis

.SetRequestHeader "AuthenticationToken", authKey
Das hier hat noch gefehlt! Jetzt bekomme ich Antwort. Danke hierfür. Nun hat es bei mir auch insoweit klick gemacht, als das ich mit Article get natürlich alle Artikel auf einmal mit allen Details bekomme. Ich tippe mal das ich den json parser zum wandeln der Json Scriptsprache in etwas brauchbares für VBA brauche.
Lieg ich da richtig ?
Anzeige
AW: Weclapp Api
21.10.2019 08:58:08
ChrisL
Wenn du einen universellen Parser findest, der dir das Ergebnis in eine Tabelle umwandelt, umso besser. Du kannst aber auch selber parsen (Split, Right, Left, Mid usw.). Manchmal reicht auch schon Text-in-Spalten und die richtige Zelle weiter verwenden.
Lade das Ergebnis als Text-Datei ins Forum und mach ein Muster, wie die Excel-Tabelle aussehen soll.
Anzeige
;
Anzeige

Infobox / Tutorial

Weclapp API in Excel nutzen


Schritt-für-Schritt-Anleitung

Um die Weclapp API in Excel über VBA zu verwenden, folge diesen Schritten:

  1. Verweis hinzufügen: Aktiviere den Verweis auf "Microsoft Scripting Runtime" in deinem VBA-Editor.

  2. API-Token: Stelle sicher, dass du deinen API-Token hast, der für die Authentifizierung nötig ist.

  3. VBA-Code schreiben: Erstelle ein neues Modul und füge den folgenden Code ein, um Daten von der API abzurufen:

    Sub GetWeclappData()
       Dim hReq As Object, Json As Object
       Dim authKey As String
       authKey = "dein_api_token" ' Hier deinen API-Token einfügen
       Dim strUrl As String
       strUrl = "https://dein_tenant.weclapp.com/webapp/api/v1/article/count" ' URL anpassen
    
       Set hReq = CreateObject("MSXML2.XMLHTTP")
       With hReq
           .Open "GET", strUrl, False
           .SetRequestHeader "AuthenticationToken", authKey
           .Send
       End With
    
       Dim response As String
       response = hReq.ResponseText
       MsgBox response ' Ausgabe der Antwort
    End Sub
  4. API testen: Führe das Makro aus, um zu sehen, ob du die Daten erfolgreich abrufen kannst.

  5. JSON parsen: Nutze einen JSON-Parser für Excel, um die Antwort in ein lesbares Format zu bringen. Du kannst z.B. den JsonConverter von GitHub verwenden.


Häufige Fehler und Lösungen

  • Unauthorized Fehler: Wenn du die Nachricht "unauthorized" erhältst, überprüfe, ob der API-Token korrekt ist und ob du ihn richtig in den Header eingefügt hast.

  • Falsche URL: Stelle sicher, dass die URL korrekt ist und der Tenant-Name richtig eingetragen wurde.

  • JSON Parsing: Wenn du beim Parsen der JSON-Daten auf Fehler stößt, stelle sicher, dass du den richtigen Parser verwendest und die Datenstruktur verstehst.


Alternative Methoden

Wenn du die Weclapp API nicht direkt in Excel verwenden möchtest, kannst du auch:

  • Postman: Verwende Postman, um API-Anfragen zu testen und die Ergebnisse zu analysieren, bevor du sie in Excel integrierst.

  • Office Scripts: Überlege, Office Scripts zu verwenden, wenn du mit der Webversion von Excel arbeitest.


Praktische Beispiele

Hier ist ein Beispiel, wie du den Lagerbestand abfragen und in eine Excel-Zelle schreiben kannst:

Sub GetStockAndUpdateExcel()
    Dim hReq As Object
    Dim authKey As String
    authKey = "dein_api_token"
    Dim strUrl As String
    strUrl = "https://dein_tenant.weclapp.com/webapp/api/v1/article/count"

    Set hReq = CreateObject("MSXML2.XMLHTTP")
    With hReq
        .Open "GET", strUrl, False
        .SetRequestHeader "AuthenticationToken", authKey
        .Send
    End With

    Dim response As String
    response = hReq.ResponseText

    ' Hier JSON parsen und Werte in Zelle A1 schreiben
    Dim stockCount As Long
    stockCount = 'Hier den Wert aus dem JSON extrahieren
    ThisWorkbook.Sheets("Tabelle1").Range("A1").Value = stockCount
End Sub

Tipps für Profis

  • Nutze Debugging: Verwende Debug.Print im VBA-Editor, um Probleme leichter zu identifizieren.

  • Dokumentation lesen: Vertraue dich mit der Weclapp Dokumentation an, um die Funktionen der API besser zu verstehen.

  • API Limits: Achte darauf, dass du die Limits der API-Anfragen nicht überschreitest, um eine Sperrung deines Tokens zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich die Weclapp API in Excel integrieren?
Du kannst die API durch das Schreiben von VBA-Skripten integrieren, die HTTP-Anfragen an die API senden.

2. Benötige ich spezielle Software, um die API zu nutzen?
Nein, du benötigst lediglich Excel mit VBA Unterstützung und einen API-Token von Weclapp.

3. Was tun, wenn ich keine Antwort von der API erhalte?
Überprüfe die URL, den API-Token und die Header-Informationen in deiner Anfrage. Nutze auch Tools wie Postman, um die API-Anfrage zu testen.

4. Kann ich die API auch ohne VBA nutzen?
Ja, du kannst die API auch über andere Programmiersprachen oder Tools nutzen, die HTTP-Anfragen senden können.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige