Ninox-DB zu Ninox-DB per REST-Schnittstelle
Hallo liebe Ninox-Gemeinde!
Ich versuche gerade per REST-API von einer Ninox-Datenbank auf eine andere Ninox-Datenbank zuzugreifen - bisher ohne konkreten Anwendungsfall, einfach um zu wissen ob und wie es geht.
Ich habe mir dazu einen API-Key generiert und den "Beispielcode" aus dem Ninox-Handbuch -> Ninox-API -> Ninox HTTP-Aufrufe mit Authentifizierung genutzt:
let response := http("GET", "https://api.ninoxdb.de/v1/teams/xxxxxxxxxxxxxx/databases/xxxxxxxxxxx/tables/Artikel/records", null, {
Authorization: "Bearer xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"});
if response.error then
alert(text(response.error))
else
alert(text(response.result))
end
(Den Key sowie IDs für Team und Datenbank habe ich hier mal durch X maskiert.) Der Code klappt nur leider nicht - es kommt die Fehlermeldung "Request failed: error - Unauthorized". Auch dann, wenn ich z. B. nur die Teams abfrage.
Wenn ich mit der gleichen URL und dem API-Key mit einem externen Programm (Paw) arbeite bekomme ich ein korrektes Result. Hat wer eine Idee, was ich falsch mache oder warum das nicht funktioniert?
VG Frank
11 Antworten
-
Hallo Frank,
Versuch mal so:
let response :=do as server
http("GET", "https://api.ninoxdb.de/v1/teams/xxxxxxxxxxxxxx/databases/xxxxxxxxxxx/tables/Artikel/records", null, {
Authorization: "Bearer xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"})end;
if response.error then
alert(text(response.error))
else
alert(text(response.result))
endLeo
-
Hallo Leo,
vielen Dank schon mal für deine Hilfe - klappt aber leider auch nicht. Dafür ist die Fehlermeldung kürzer: "Unauthorized"
VG Frank
-
Hallo Frank,
Wenn ich so richtig sehe, hast du Header und Body vertauscht. Am besten:
---
let Methode:="GET";
let URL:= "https://api.ninoxdb.de/v1/teams/xxxxxxxxxxxxxx/databases/xxxxxxxxxxx/tables/Artikel/records";
let Header:={Authorization:"Bearer xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"};
let Body:={};
let responce:=do as Server
http(Methode,URL,Header,Body)
end;
if response.error then
alert(text(response.error))
else
alert(text(response.result))
end
---
Leo
-
Guten Morgen Leo,
prima - genau das war es. Ich habe das jetzt aber nur im Aufruf vertauscht:
let response := http("GET", "https://api.ninoxdb.de/v1/teams/xxxxxxxxxxxxxx/databases/xxxxxxxxxxx/tables/Artikel/records", {
Authorization: "Bearer xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}, null);
if response.error then
alert(text(response.error))
else
alert(text(response.result))
end
So klappt das dann und ich komme erst mal weiter, vielen Dank!
VG Frank
-
Das alles ist mir noch zu kompliziert im Moment... aber spannend es zu verfolgen. Schön wäre es, wenn wenigstens von Ninox zu Ninox eine einfache Schnittstelle da wäre die man ohne Programmierkünste miteinander verbinden könnte.
-
Mir geht es ja gerade mal darum zu schauen, ob da eine einfache Verbindung geschaffen und Daten zwischen Datenbanken praxistauglich ausgetauscht werden können. Evtl. kann man ja die Komplexität in Funktionen kapseln und dann recht komfortabel auf Daten zugreifen. Mals sehen... :)
VG Frank
-
Hallo zusammen
mein Name ist Dirk und ich stehe vor demselben Problem und würde mich gerne dieser DIskussion anschließen. Mir geht es wie Pyromixer. Ich suche einen einfache weg wie ich 2 Ninoxdatenbanken vernetzen kann und wie genau das geht. (Ich bin noch blutiger Anfänger in solchen Themen)
Akutell vesuche ich die geplanten Budgets mit meiner Projektmanagment Datenbank über das Feld "Planbudget" zu verknüpfen. AUf Grund der Komplexität beider Datenbanken ist eine Zusammenlegung nicht sinnvoll, da es die Gefahr birgt zu unübersichtlich zu werden.
Meine Frage jetzt an Euch. Wie genau schaffe ich eine Verknüpfung?
LG Dirk -
Eine gute Gelegenheit mit unseren Experten darüber zu sprechen wäre einer unserer API-Workshops. Entweder Freitags um 10:00 Uhr (vorranging auf Deutsch) oder Montags um 17:00 Uhr (auf English).
Anmelden können Sie sich für die Workshops hier:
Freitag: https://zoom.us/webinar/register/WN_NDOVEq1uT_20mzSdpznlWQ
Montag: https://zoom.us/webinar/register/WN_tNnu2wwPSHWtwZQvj3egFwInformationen zur API-Integration mit Ninox finden Sie hier:
https://ninoxdb.de/de/manual/ninox-api/api-einfuehrungBirger
-
Ich habe folgenden Quellcode versucht:
let response := do as server
http("GET", "https://api.ninoxdb.de/v1/teams", {
Authorization: "Bearer xxx",
'Content-Type': "application/json"
}, null)
end;bekomme aber nur ein leeres Resultset. Wo ist mein Denkfehler?
-
Das sollte mit der API und z. B. Integromat oder Zapier möglich sein.
Eine gute Gelegenheit direkte Hilfe zu Ihrem Anliegen zu erhalten, sind unsere API-Webinare.
Bitte heben Sie dort (virtuell) die Hand, dann können wir Sie live unterstützen.Bitte informieren Sie sich über den Zeitplan und die Inhalte unseres nächsten Webinars hier:
https://ninox.com/de/webinarÜber die Schaltfläche "Registrieren" können Sie direkt am Webinar teilnehmen oder sich dafür anmelden.
Vielen Dank. -
Ich fahre seit einiger Zeit mit folgendem Code ganz gut:
let auth := {
Authorization: "Bearer DEIN-API-KEY",
'Content-Type': "application/json"
};
let response := do as server
http("GET/POST/usw", "https://api.ninoxdb.de/v1/teams/98sd9f87sd9f7sdf/databases/s9d8f79s8d7f9s8d7f/tables, auth, {body})
end;Find ich schön übersichtlich. Leider ist im Handbuch body und auth vertauscht, da gabs Anfangs auch verwirrung ...
Content aside
- vor 4 JahrenZuletzt aktiv
- 11Antworten
- 3905Ansichten