API query Abfrage funktioniert nicht im body
Hallo,
heute war Startschuss, um sich mit der API auseinanderzusetzen.
Der Aufruf:
let targetUrl03 := "https://xxxxxxxx/v1/teams/" + targetTeam + "/databases/" +
targetDB +
"/query?query=(select RuR)";
let ninoxApiKey := "XXXX";
let output := "";
let ninoxHeader := {
Authorization: "Bearer " + ninoxApiKey,
'Content-Type': "application/json"
};
let res := do as server
http("GET", targetUrl03, ninoxHeader, null)
end;
funktioniert wunderbar, liefert die Ids der Datensätze, aber:
let targetUrl02 := "https://xxxxxxxxx/v1/teams/" + targetTeam + "/databases/" +
targetDB +
"/query";
let ninoxApiKey := "XXXXX";
let output := "";
let body := {
query: "(select RuR)"
};
let ninoxHeader := {
Authorization: "Bearer " + ninoxApiKey,
'Content-Type': "application/json"
};
let res := do as server
http("GET", targetUrl03, ninoxHeader, body)
end;
funktioniert nicht. Ich erhalte die Meldung "Missing query parameter."
Was fehlt bzw. mache ich falsch?
Grüße Maurice
8 Antworten
-
Der GET-Query funktioniert nicht mit einem JSON-Body.
Hier ist die Query-Bedingung in der URL anzugeben.
Wenn du die Query-Bedingung als JSON-Body übergeben willst, musst du POST benutzen.
Ich stelle mal eine kleine DB ein, welche beispielhaft die Nutzung der für Ninox möglichen API-Requests veranschaulicht.
Wenn du sie in dein Team lädst und den entsprechenden API-Key eingibst, kannst du, in der DB, API-Requests auf dieselbige testen. -
Wobei A1 wohl nicht funktioniert.
id.K ist die ID der Verknüpfung.
Jetzt musst du noch die ID von dem Feld 'Name der Schule' hinten anfügen.
Laut deiner Beschreibung ist A1 aber die Rückverknüpfung.
Ruf mal das Schema von der Tabelle Schule ab und schau nach wie die passende FeldID lautet. -
Anbei noch eine kleine DB um Query-Aufrufe zu testen und die ID's / Schema leichter zu ermitteln.
Man kann sie für public/private Clouds nutzen.
Ich werde sie noch in einer nächsten Version um den exec-Query erweitern.
Content aside
- vor 1 JahrZuletzt aktiv
- 8Antworten
- 123Ansichten
-
2
Folge bereits