API

Die Verwendung der API (engl. application programming interface, Programmierschnittstelle) ist eine Möglichkeit, Daten von einem externen Programm (z. B. einem Python-Skript) in eLabFTW zu lesen oder zu schreiben.

Anstatt mit einem Webbrowser auf die Weboberfläche zuzugreifen und ein Experiment zu erstellen, können Sie beispielsweise die API aufrufen und sagen: "Hey, erstelle ein Experiment für mich", und die API antwortet mit der ID des neu erstellten Experiments.

Installation und Verwendung sind in der elabapy documentation.

Für einen schnellen Start können Sie diese Schritte befolgen, um Ihre ersten Daten in eLabFTW zu lesen und zu schreiben:

  • Um unsere Instanz von eLabFTW zu erreichen, müssen Sie einen API-Schlüssel erstellen. Dies können Sie in eLabFTW tun, indem Sie zum Benutzerpanel navigieren und auf "API Key" klicken. Dort können Sie einen Namen und Berechtigungen vergeben. Nach der Erstellung wird der Schlüssel nur einmal angezeigt. Danach gibt es keine Möglichkeit mehr, diesen Schlüssel erneut zu erhalten. Achten Sie daher darauf, dass Sie den Schlüssel sicher aufbewahren.

     

  • Mit einem gültigen Schlüssel und einer ordnungsgemäßen Installation von elabapy können Sie beginnen, Ihr Python-Skript zu schreiben. Neben dem Import von elabapy selbst sollte es damit beginnen, eine Instanz der Manager-Klasse von elabapy zu erstellen, die einen Endpunkt annimmt, den Sie zuerst definieren sollten. Im Fall der Gruppe Aeschlimann müssen Sie elab.uni-kl.de/api/v1/ verwenden. Schließlich sollte Ihr Skript in etwa so aussehen.

 

# API of ElabFTW

import elabapy

# Importieren Sie die Klasse Error, um HTTP-Fehler abzufangen.

from requests.exceptions import HTTPError

keyfile = open("key.txt", "r")

apikey = keyfile.read()

# Das darf nicht geändert werden!

endpoint = "https://elab.uni-kl.de/api/v1/"

# Mit diesem Manager erhalten Sie Zugang zu ElabFTW, wenn Ihr Schlüssel korrekt ist.

manager = elabapy.Manager(endpoint=endpoint, token=apikey)

 

  • Sie sollten nun in der Lage sein, auf elabFTW zuzugreifen. Sie können die in der elabapy Dokumentation beschriebenen Befehle verwenden. Ein Beispiel für diese Befehle wird demnächst in Gitlab hinzugefügt. Ein wichtiger Punkt ist, dass jedes Experiment und jedes Datenbankelement eine eigene ID hat. Mit dieser ID können Sie z.B. die Daten auslesen, die in einem Experiment oder einem Element gespeichert sind. Sie können diese ID in der URL des entsprechenden Objekts sehen, wie es unten gezeigt wird.