Wikipedia:Technik/Datenbank/API
Die API (Application Programming Interface) der Wiki-Projekte erlaubt die Abfrage von Informationen über Projekte oder Seiten, die auch automatisiert durch Software abgerufen und verarbeitet werden können; sowie automatisierte Bearbeitung von Seiten.
Grundsätzlich gibt es zwei Möglichkeiten:
- Manueller Abruf und Darstellung der Ergebnisse im Browser in einer menschenlesbar aufbereiteten XML-Darstellung.
- Beispiel: Aufrufe der englischsprachigen Wikipedia aus der deutschsprachigen Wikipedia heraus.
- Automatisierter Abruf durch Programme und Skripte. Das Abfrageergebnis wird typischerweise in JSON oder XML zurückgegeben und durch Software ausgewertet. Siehe dazu JS/API.
Die Informationen auf Spezialseiten können in den meisten Fällen auch über API-Aufrufe gewonnen werden; nur die optische Darstellung auf den Spezialseiten unterscheidet sich. Technisch liegt das gleiche Prinzip der Datenbankabfragen zugrunde. Dafür bieten API-Abfragen meist mehr individuelle Steuerungsmöglichkeiten: Während etwa auf Spezial:Weblinksuche zurzeit keine Filterung nach Namensräumen möglich ist, kann das mit der API beliebig zusammengestellt und kombiniert werden.
Die URL sieht so aus wie sonst bei dynamischen Seiten; jedoch heißt es api.php
statt index.php
im Pfad.
Dokumentation der Funktionalität
BearbeitenEs gibt unterschiedlich vollständige Informationen in deutscher und englischer Sprache:
- mw:API – Kernfunktionen, deutschsprachige Dokumentation.
- Nicht alle Themen übersetzt; nicht jede technische Einzelheit erwähnt und aktuell.
- mw:API – englischsprachige Dokumentation der Kernfunktionen; Stammseite auf MediaWiki.
- umfassender, aber auch nicht immer vollständig und aktuell
- Zusätzlich zu den Kernfunktionen gibt es Erweiterungen mit eigenen API-Abfragen unter API extensions.
- api.php – automatisch generierte Dokumentation, die stets aktuell ist und neben Kernfunktionen auch die gültigen Erweiterungen enthält; englisch, teilweise auch übersetzt.
Erprobung
Bearbeiten- Normale Abfragen lassen sich durch Bildung einer entsprechenden URL gleich in jedem Browser testen (HTTP-GET).
- Bestimmte (verändernde) Aktionen benötigen HTTP-POST; dafür wurde die Spezialseite Special:APISandbox eingerichtet. Sie führt diese Aktionen allerdings wirklich aus!
REST
BearbeitenLangfristig ist ein neuer Ansatz mit fortgeschrittener Technologie und erweiterten Möglichkeiten geplant: Representational State Transfer (REST).
Fehler und Probleme
BearbeitenDie Technik-Werkstatt hilft weiter.