Fetch URL liefert keinen Wert
Symptom
Abschnitt betitelt „Symptom“Dein Fetch URL Command läuft, aber die Variable (z.B. %fetchUrlResult.joke%) ist leer oder zeigt den rohen Variablen-Namen im Chat.
Schnell-Check (30 Sekunden)
Abschnitt betitelt „Schnell-Check (30 Sekunden)“- Log-Pane öffnen → Command auslösen
- Suche nach
Fetch URLEinträgen → steht dort ein Status-Code? - Status 200 → JSON-Pfad falsch
- Status 4xx/5xx → API-Problem
- Kein Eintrag → Sub-Action wurde nicht erreicht (vorherige Sub-Action bricht ab)
Häufige Ursachen (Top 5)
Abschnitt betitelt „Häufige Ursachen (Top 5)“| Ursache | Symptom | Fix |
|---|---|---|
| JSON-Pfad falsch | Variable leer trotz Status 200 | API-Antwort im Browser prüfen, Pfad korrigieren |
| API-URL falsch | Status 404 | URL im Browser testen: kommt JSON zurück? |
| API-Key fehlt | Status 401/403 | Header mit API-Key setzen |
| API gibt kein JSON | Variablen leer | Manche APIs geben Plain-Text → %fetchUrlResult% statt Punkt-Notation |
| Sonderzeichen in Input | URL bricht | $urlEncode(%input0%)$ nutzen |
JSON-Pfad debuggen
Abschnitt betitelt „JSON-Pfad debuggen“- Die API-URL im Browser öffnen (oder
curlnutzen) - JSON-Antwort anschauen
- Pfad von der Wurzel durchgehen
Beispiel API-Antwort:
{ "data": { "joke": { "text": "Warum können Geister so schlecht lügen?" } }}Der richtige Pfad: %fetchUrlResult.data.joke.text%
Häufige Fehler:
❌ %fetchUrlResult.joke% → fehlt "data"❌ %fetchUrlResult.data.text% → fehlt "joke"❌ %fetchUrlResult[0].data.text% → kein Array✅ %fetchUrlResult.data.joke.text% → korrektPlain-Text API
Abschnitt betitelt „Plain-Text API“Manche APIs geben keinen JSON zurück, sondern Plain-Text (z.B. wttr.in). Dann gibt es keine Punkt-Notation: der gesamte Text steht in %fetchUrlResult%.
✅ %fetchUrlResult% → "Berlin: ☀️ +22°C"❌ %fetchUrlResult.temperature% → existiert nicht bei Plain-TextStatus-Code debuggen
Abschnitt betitelt „Status-Code debuggen“Füge nach dem Fetch einen Debug-Send ein:
├── Fetch URL: ...├── Send Message: "DEBUG: Status %fetchUrlStatusCode%, Success: %fetchUrlIsSuccess%"| Status | Bedeutung | Aktion |
|---|---|---|
| 200 | OK | JSON-Pfad prüfen |
| 400 | Bad Request | URL/Parameter falsch |
| 401 | Unauthorized | API-Key fehlt oder falsch |
| 403 | Forbidden | Kein Zugriff / API-Key ohne Berechtigung |
| 404 | Not Found | URL existiert nicht |
| 429 | Rate Limited | Zu viele Requests, Cooldown erhöhen |
| 500+ | Server Error | API hat ein Problem, nicht du |
URL mit Variablen testen
Abschnitt betitelt „URL mit Variablen testen“Wenn die URL %input0% enthält: teste sie zuerst mit einem festen Wert im Browser.
API-URL: https://api.dictionaryapi.dev/api/v2/entries/en/%input0%Test: https://api.dictionaryapi.dev/api/v2/entries/en/helloWenn der Test im Browser funktioniert, aber in SB nicht: prüfe ob %input0% Leerzeichen oder Sonderzeichen enthält → $urlEncode()$.