Hallo zusammen,
ich will Produkte einer API abrufen. Wenn ich das parsing template nutze, bekomme ich einen Fehler mit dem ich nichts anfangen kann. Ohne das Parsing template funkioniert der Abruf von Page1.
Kann jemand helfen?
k
Hallo zusammen,
ich will Produkte einer API abrufen. Wenn ich das parsing template nutze, bekomme ich einen Fehler mit dem ich nichts anfangen kann. Ohne das Parsing template funkioniert der Abruf von Page1.
Kann jemand helfen?
Danke! Hatte ich aus der Doku kopiert, da ist der Fehler also auch drin
Es wird allerdings nur page1 abgerufen.
Beim Parsen bekomme ich leider auch einen Fehler, beim automatischen Parsen mit APICall hat es funktioniert.
Hallo @philippm,
Vielen Dank für den Hinweis. Wir korrigieren das Beispiel in der Dokumentation.
Es scheint ein Problem mit dem input JSON aus der list
Spalte zu geben.
Die angegebene Zeile in der Fehlermeldung bezieht sich allerdings nicht auf die Zeile des input Spreadsheets, sondern auf den JSON der gerade versucht wird zu parsen. Der Fehler im JSON könnte entsprechend in einer der ersten 10 Zeilen des APICall Outputs vorhanden sein. Kannst dir mal 10 Zeilen in der Vorschau des API Call Steps anzeigen lassen ? Eventuell kann man in einer der Zeilen schon ein Problem erkennen.
Viele Grüße
Torsten
Hi Thorsten,
APIcall hat nur 1 Zeile Output, da nur eine Seite abgerufen wird (eigentlich sind es 10 Seiten).
Wenn ich auf JSON automatische Erkennung wechsle (ohne Pagination), dann passt der Output in der Tabelle.
Versuch mal im parsingTemplate
des APICall Steps direkt
<#list json['list'] as j >
zu verwenden.
Den zusätzlichen JSONReader Step brauchst du dann eigentlich nicht mehr.
Erkärung des Problems:
Der Ursache für das Problem ist die Funktionsweise der addColumns
Funktion. In der response (JSON) des APICall Steps ist list
ein Array/Liste von Objekten ( ... ,"list": [ { "id": "8", "order_id": "1", ...}, {...} , {...} ]
).
Bei der addColumns Funktion werden die einzelne Elemente einer Liste kommasepariert ausgegeben. Das führt im Output Spreadsheet des APICall Steps dazu, dass die Objekte einzeln(Komma separiert) aufgelistet werden. Das sieht fast genauso aus, aber es fehlen die eckigen Klammern, damit es ein valider JSON ist. Unser JSONReader meckert dann genau nach dem ersten Objekt beim Komma (nach 400 Zeichen).
Super, hat funktioniert.
Aber der APICall erzeugt nur eine Liste der ersten page, es sind aber insgesamt 10 pages.
Kannst du bitte mal probieren den „page“ Parameter für die 1. Seite in der Url (host
Feld) mit anzugeben:
.../products?page=1
Die pagination
Funktion in nextUrl
läuft sonst ins leere, weil der „page“ parameter in der initialUrl
Variable nicht vorhanden ist.