API:FAQ
Diese Seite ist Teil der Dokumentation der MediaWiki action API. |
Überblick
Diese Seite bietet Antworten zu häufig gestellten Fragen über die MediaWiki Action API. This page is intended for technical contributors and software developers who wish to understand and use the MediaWiki Action API.
Lies auch die API:Hauptseite . Sie beantwortet ein paar Fragen, die hier nicht beantwortet werden, und verweist auf andere nützliche Seiten.
Über APIs
Was ist eine API?
API ist eine Abkürzung für Application Programming Interface. Sie erlaubt verschiedenen Anwendungen, miteinander zu kommunizieren. Manchmal erlaubt eine API einer Anwendung, eine Aktion anzufordern, die von der Anwendung, welche die API einsetzt, ausgeführt werden soll. Allgemein bezieht sich dies in MediaWiki auf webbasierte APIs, die HTTP-Anfrage-Antwort-Mechanismen nutzen und strukturierte JSON/XML-Daten produzieren.
Was ist eine REST API?
REST ist eine Abkürzung für REpresentational State Transfer. Eine Reihe von Leitprinzipien oder Einschränkungen definiert ein REST-System. Eine RESTful API — oder nur REST API — unterliegt diesen Prinzipien und ist daher schneller, verlässlicher und besitzt einen skalierbaren Service.
Was kann eine API tun?
Siehe einige Nutzungsmöglichkeiten der API.
Wo kann ich mehr über APIs erfahren?
Hier sind ein paar Ressourcen:
- APIs verstehen
- Eine Einführung in APIs
- Was ist REST — Eine einfache Erklärung für Anfänger, Teil 1: Einleitung
Allgemein
Was ist die MediaWiki Action API?
Die MediaWiki Action API ist ein REST-Webservice, der es Benutzern ermöglicht, Wiki-Aktivitäten wie Seitenerstellung, Authentifizierung, Parsing, Suchen etc. auszuführen.
Wozu kann die MediaWiki Action API verwendet werden?
Die MediaWiki Action API kann genutzt werden für:
- Zugriff auf Wiki-Funktionen.
- Interaktion mit einem Wiki.
- Erhalt von Meta-Information über Wikis und öffentliche Benutzer.
Die rechte Seitenleiste zeigt viele Funktionen, die von der API unterstützt werden. Siehe auch einige Wikimedia-Projekte, die die MediaWiki Action API nutzen.
Wie kann ich die MediaWiki Action API verwenden?
Anfragen an die Action API erfolgen normalerweise über HTTP-Anfragen. Lies die Anleitung für detaillierte Anweisungen.
API ausprobieren
- verwende die Special:ApiSandbox
- Aktiviere die Entwicklerkonsole deines Browsers und beobachte die Internetanfragen an
api.php
, während du mit dem Wiki interagierst.
Was sind ein Modul, ein Submodul und ein Parameter?
Die MediaWiki Action API hat mehrere Module, die genutzt werden, um verschiedene Aufgaben auszuführen. Technisch betrachtet ist ein Modul eine Unterklasse der ApiBase. Ein Modul erfordert keine Parameter. Diese Parameter können Submodule sein (oder auch nicht).
Betrachte die folgende Abfrage:
hier:
action
ist ein Parameter des Hauptmoduls.action=query
ist ein anderes Modul. Es wird Abfragemodul genannt.list
ist ein Parameter des Abfragemoduls.list=search
ist auch ein Modul. Es kann als Submodul vonaction=query
bezeichnet werden.srsearch
ist ein Parameter des Suchmoduls. Er enthält die Such-Zeichenkette 'abc'.format
ist ein Parameter des Hauptmoduls.json
ist das Ausgabeformat.
Siehe auch Einführung und Richtlinien. Sie beschreiben die Submodule des action=query
-Moduls.
Woher weiß ich, welches Modul und Submodul ich anrufen soll?
Die MediaWiki Action API ist groß und Erweiterungen vergrößern sie noch weiter. Hier sind einige Möglichkeiten, um deine API-Abfrage zu erarbeiten:
- Suche in der Seitenleiste nach der Funktion, die du implementieren möchtest und folge dem Link für Informationen dazu, welche Module du anrufen musst.
- Die selbstdokumentierenden API-Seiten enthalten eine Liste aller Module und Submodule mit kurzen Beschreibungen. Du kannst mit dem Hauptmodul beginnen und dann den Links auf unterschiedliche Submodule folgen. (Ergänze
recursivesubmodules=1
, um dir die erweiterte Version anzusehen)
Wo kann ich einfache Beispielcodes zur Nutzung der API-Module finden?
Die API-Dokumentationsseiten enthalten einen 'Beispiel'-Abschnitt, um zu zeigen, wie unterschiedlich Module und Submodule genutzt werden können. Die automatisch generierten Dokumente enthalten ebenfalls Beispiele, die den Modulbeschreibungen folgen.
Siehe die Mediawiki-API-Demos für Code-Ausschnitte in Python und JavaScript.
Wie kann ich das Ausgabeformat kontrollieren?
Das Standard-Ausgabeformat ist JSON. Andere Ausgabeformate wurden in der aktuellsten MediaWiki-Version missbilligt oder entfernt und von ihrer Nutzung wird abgeraten.
In älteren Versionen kannst du &format=someformat
in die Abfrage-Zeichenkette einsetzen, um das Ausgabeformat festzulegen.
Für Informationen siehe API:Datenformate.
Brauche ich ein Zugangs-Token?
Du wirst ein Zugangs-Token benötigen, um Aktionen zur Veränderung von Daten auszuführen, wie Anmelden, Bearbeiten, Seiten verschieben, etc.
Siehe API:Tokens oder die Seitenleisten-Kategorie 'Authentifizierung', um mehr darüber zu lernen.
Wie stelle ich über die API seitenübergreifende Abfragen?
Du musst JSONP oder CORS nutzen, um seitenübergreifende Abfragen in MediaWiki zu stellen.
Für Details siehe API:Seitenübergreifende Abfragen.
Gibt es eine Begrenzung für Abfrageergebnisse?
Ja, es hängt von den Abfrage-Parametern ab. Beispielsweise können die Ergebnisse für die Abfragen list
und property
für normale Benutzer 500 nicht übersteigen.
Die API-Seiten enthalten Informationen über diese Limits in den Abschnitten 'Zusätzliche Anmerkungen' oder 'Beschränkungen'. Beachte, dass manche Module unter bestimmten Bedingungen strengere Limits anwenden.
Wenn du unsicher bist, welches Limit du setzen sollst und einfach so viele Ergebnisse wie möglich erhalten möchtest, setze das Limit auf max
.
Gibt es ein Limit für API-Abfragen?
Es gibt kein bestimmtes Limit. Wir empfehlen derzeit eine angemessene Anzahl von Anfragen, um zu verhindern, gesperrt zu werden. Wenn du viele Anfragen stellen möchtest, kontaktiere vorab die Administratoren.
Siehe auch die API:Etikette.
Wo kann ich Neuigkeiten über die MediaWiki Action API erfahren?
Du kannst die MediaWiki-API-Announce-Mailingliste abonnieren, um Ankündigungen und Neuigkeiten zu erfahren.
Was sind Wiki-Dumbs und wie kann ich mit ihnen arbeiten?
Die Wikimedia-Datendumps sind Dumps von Wiki-Sammlungen, Inhalt, Metadaten, Suchindizes, etc. Um mit Dumps zu arbeiten, siehe Dump-Nutzung und öffentliche Dumps.
Wo kann ich mehr Hilfe erhalten?
Wenn du keine Antworten in der MediaWiki-API-Dokumentation oder den automatisch generierten Dokumentationsseiten findest, kannst du einen der folgenden Wege nutzen.
- Erstelle einen Wikimedia-Account (wenn Du noch keinen besitzt) und füge ein neues Thema zur API-Diskussionsseite hinzu.
- Stelle deine Frage auf:
- IRC im #mediawiki connect-Kanal.
- MediaWiki-API-Mailingliste.
Entwickler von Erweiterungen und Wiki-Betreiber
Wie kann ich ein API-Modul in einer Erweiterung erstellen?
API:Erweiterungen wird dich durch den gesamten Prozess der Erstellung eines API-Moduls in einer Erweiterung begleiten.
Wie ist die interne Struktur der API?
API:Implementationsstrategie erklärt die Implementation der API-Maschine in den MediaWiki Core.
Wie kann ich die Nutzung der API einschränken?
Um die Nutzung der API einzuschränken, kannst du entweder die Nutzung der Schreib-API einschränken oder individuell Module deaktivieren.
Für Anweisungen und Beispiele siehe API:API-Nutzung einschränken.
Fehler und Probleme
Wie finde ich einen Fehler?
Wenn du einen Fehler erhältst, wird die Fehlermeldung der API den HTTP-Header MediaWiki-API-Error
setzen und eine Fehlerstruktur ausgeben.
Was bedeutet dieser Fehler?
Finde deinen Fehler in der Liste von Standard-Fehlermeldungen, um zu verstehen, was der Fehler bedeutet.
Wie erstelle ich eine Fehler-/ Funktionsanfrage?
Du kannst im Wikimedia-Aufgabenverwaltungs-Werkzeug Phabricator Fehler melden und Funktionsanfragen ausfüllen.
Hinweis:
- Füge das Projekt-Tag MediaWiki-API zu deiner Aufgabe hinzu.
- Wenn dein Bericht / deine Anfrage auf einer Erweiterung basiert, füge das Projekt der Erweiterung hinzu. (z.B. MediaWiki-extensions-AbuseFilter, MediaWiki-extensions-FlaggedRevs, etc.)
- Stelle sicher, dass es keine Duplikate gibt, bevor du eine neue Aufgabe erstellst.
- Verstehe die Bedingungen zur Erstellung von Aufgaben im Phabricator, bevor du weitermachst.
Siehe Wie man einen Bug meldet für weitere Details.
Erhalte ich Fehler aufgrund meiner API-Version?
Wenn eine Webseite unterschiedliche Versionen von MediaWiki nutzt, wird sie auch unterschiedliche Versionen der API nutzen. Manche Modul-Parameter, die in einer Version unterstützt werden, sind in anderen Versionen möglicherweise missbilligt (oder entfernt). Solche Parameter geben bei der Verwendung eine Ausnahme aus. Die API-Seiten dokumentieren all diese Missbilligungen.
Siehe die Veröffentlichungshinweise für Informationen über verschiedene API-Versionen.