Schnittstellen
Hinweis
Eine Schnittstelle oder API (application programming interface) ergmöglicht den Zugriff auf Daten in einer bestimmten Form und Zustand. Dieser Zugriff kann wiederholt geschehen, sodass beispielsweise zwischenzeitliche Änderungen abgebildet werden könnten. Für den Zugriff auf viele Schnittstellen musst du nachweisen, dass du zum Zugriff berechtigt bist, ähnlich einer Eintrittskarte zum Kino. Diese Zugangsberechtigung erhältst du von den Mitarbeitenden des Lehrstuhls auf Anfrage.
Der Lehrstuhl selbst stellt eine Schnittstelle bereit, die für Personen nach vorheriger Absprache zugänglich ist. Dabei werden bestimmte Datenbereiche freigeschaltet. Den Zutritt ermöglicht ein sog. Token. Das ist ein einzigartiger Schlüssel (wie eine Eintrittskarte). Konkret ist das einfach eine etwas beliebig aussehende Zeichenkette.
Achtung
Dieses Token (und alle anderen) sollten nicht weitergegeben werden und dementsprechend auch nicht im Code committed werden
Um diese Token also nicht explizit in den Code zu schreiben, möchten wir sie kurz vor der Ausführung des Codes importieren. Das geschieht über sogenannte Umgebungsvariablen. Umgebungsvariablen ermöglichen das Einspeisen von Werten in Programme bei ihrer Ausführung. Das Ziel ist also Folgendes:
- Dein Token als (lokale) Umgebungsvariable festlegen.
- Diese Umgebungsvariable in das Skript zu importieren.
- Diese im Skript als Variable zu nutzen.
Zu 1. gibt es zwei Möglichkeiten der Festlegung:
Umgebungsvariablen über IDE
Viele IDEs ermöglichen eine Festlegung von Umgebungsvariablen, wenn Python ausgeführt wird. Falls du eine solche verwendest, findest du dazu online häufig eine Erklärung. Hier einige Erklärungsseiten für das Setzen von Umgebungsvariablen von verbreiteten IDEs:
.env
Neben den Möglichkeiten der IDE gibt es noch eine weitere Möglichkeit, die
unabhängig funktioniert: Das Erstellen einer .env
-Datei. Diese
Datei besteht aus einer Liste von Umgebungsvariablen, die untereinander
geschrieben werden. Das hat den Zweck, dass Token nicht in die Skripte und damit in die
Versionierung aufgenommen werden. Diese Datei auf keinen Falls committen,
sondern via .gitignore
ausschließen.
Der Inhalt der .env
sieht wie folgt aus:
WDC_TOKEN=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH
DSSCODE_TOKEN=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH
Weitere verwendete Variablen können darunter geschrieben werden. Variablen aus
.env
werden gegenüber allgemeinen Umgebungsvariablen priorisiert.
Hinweis
Hierfür ist das Package dotenv
notwendig, welches vorab mit dem Package Manager deines Vertrauens installiert werden muss. Im Skript muss dann explizit load_dotenv()
aufgerufen werden:
Verwendung von Umgebungsvariablen
Um den Wert einer Umgebungsvariable in eine Python-Variable zu übertragen, können wir die Bordmittel von Python nutzen:
Hinweis
Falls du eine .env
-Datei verwendest, musst du erst mit load_dotenv()
diese Datei importieren.
Damit wäre deine Umgebungsvariable DSSCODE_TOKEN
in die Python-Variable
dsscode_token
übertragen und du kannst sie jetzt an die entsprechenden Methoden
übergeben.