Wikiup:Technik/Datenbank/API

aus Wikipedia, der freien Enzyklopädie

Lua-Fehler in package.lua, Zeile 80: module 'strict' not foundLua-Fehler in package.lua, Zeile 80: module 'strict' not found[[:]]

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:

  1. Manueller Abruf und Darstellung der Ergebnisse im Browser in einer menschenlesbar aufbereiteten XML-Darstellung.
  2. 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

Es gibt unterschiedlich vollständige Informationen in deutscher und englischer Sprache:

  • mw:API/de – 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

  • 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

Langfristig ist ein neuer Ansatz mit fortgeschrittener Technologie und erweiterten Möglichkeiten geplant: Representational State Transfer (REST).

Fehler und Probleme

Die Technik-Werkstatt hilft weiter.