API
KonzeptWas ist eine API?
API steht für Application Programming Interface (deutsch: Anwendungs-Programmierschnittstelle). Eine API ist eine definierte Möglichkeit wie ein Programm mit einem anderen Programm kommunizieren kann.
Restaurant-Analogie
Stell dir ein Restaurant vor:
- Du (Kunde) = Dein Programm
- Kellner = API
- Küche = Das andere Programm/der Service
Du sagst dem Kellner was du willst (API-Request). Der Kellner bringt deine Bestellung in die Küche die sie zubereitet und über den Kellner zurückgibt (API-Response). Du musst nicht wissen wie die Küche funktioniert - du musst nur wissen wie man mit dem Kellner redet.
Praktische Beispiele
- Wetter-App auf deinem Handy nutzt API von Wetterdienst
- “Login mit Google”-Button nutzt Google’s OAuth-API
- Bezahlen mit PayPal nutzt PayPal-API
- Automatische Übersetzung nutzt DeepL- oder Google-Translate-API
Arten von APIs
Web APIs
Die häufigste Form. Programme kommunizieren über Internet mittels HTTP/HTTPS.
Beispiel: Deine Website fragt per API bei einem Service an: “Gib mir alle Blogposts von heute”
Service antwortet mit Daten (meist JSON-Format).
Betriebssystem APIs
Windows, Linux, macOS bieten APIs damit Programme auf Festplatte zugreifen, Fenster öffnen, Netzwerk nutzen können.
Beispiel: Programm will Datei speichern → nutzt OS-API statt direkt auf Hardware zuzugreifen.
Bibliotheken APIs
Wenn du eine Programmier-Bibliothek nutzt (z.B. für Bildbearbeitung) ist das deren API die du verwendest.
Beispiel: image.resize(800, 600) ist API-Aufruf der Bibliothek.
Wie funktioniert eine Web API?
Request
Dein Programm sendet HTTP-Request an eine URL:
GET https://api.example.com/users/123
Authorization: Bearer abc123token
- GET = Art der Anfrage (will Daten lesen)
- URL = Wo die API ist und was du willst
- Authorization = Nachweis dass du berechtigt bist
Response
Server antwortet mit Daten:
{
"id": 123,
"name": "Max Mustermann",
"email": "max@example.com",
"created": "2024-01-15"
}
Dein Programm verarbeitet diese Daten weiter.
HTTP-Methoden
- GET: Daten lesen
- POST: Neue Daten erstellen
- PUT: Daten aktualisieren
- DELETE: Daten löschen
Beispiele:
GET /users→ Liste aller NutzerPOST /users→ Neuen Nutzer anlegenPUT /users/123→ Nutzer 123 ändernDELETE /users/123→ Nutzer 123 löschen
REST APIs
REST (Representational State Transfer) ist ein verbreiteter Stil für Web-APIs.
REST-APIs folgen bestimmten Prinzipien:
- Nutzen Standard-HTTP-Methoden (GET, POST, PUT, DELETE)
- URLs repräsentieren Ressourcen (
/users,/posts,/comments) - Stateless: Jede Anfrage enthält alle nötigen Informationen
- Antworten meist in JSON-Format
Beispiel einer REST API
Blog-API im REST-Stil:
GET /posts → Alle Blog-Posts
GET /posts/42 → Post mit ID 42
POST /posts → Neuen Post erstellen
PUT /posts/42 → Post 42 bearbeiten
DELETE /posts/42 → Post 42 löschen
GET /posts/42/comments → Kommentare zu Post 42
Authentifizierung
Warum?
APIs müssen wissen wer du bist um:
- Unbefugten Zugriff zu verhindern
- Ratenlimits durchzusetzen (z.B. max. 1000 Requests/Stunde)
- Abrechnungen durchzuführen
API Keys
Einfachster Weg: Service gibt dir einen einzigartigen Schlüssel.
GET /data?api_key=abc123def456
Problem: Wenn jemand deinen Key stiehlt kann er ihn missbrauchen.
Bearer Tokens
Token im Authorization-Header:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Tokens haben oft Ablaufzeit (z.B. 1 Stunde) für mehr Sicherheit.
OAuth
Komplexestes aber sicherstes Verfahren. Nutzer autorisiert deine App bei einem Service ohne dass du sein Passwort siehst.
Beispiel: “Login mit Google” nutzt OAuth. Du bekommst Token mit dem deine App auf Google-Dienste zugreifen darf.
Quellen
Books
Official
Quellen archiviert am: 2025-01-30