Aus EnzyklopAtys
Leda (Diskussion | Beiträge) K |
Leda (Diskussion | Beiträge) K |
||
Zeile 1: | Zeile 1: | ||
{{WIP}} | {{WIP}} | ||
{{Trad|DE=Technischer_Wiki-Leitfaden/API|EN=Wiki Technical Guide/API|H=1|palette=tech}} | {{Trad|DE=Technischer_Wiki-Leitfaden/API|EN=Wiki Technical Guide/API|H=1|palette=tech}} | ||
− | • https://www.mediawiki.org/wiki/API:Main_page | + | *• https://www.mediawiki.org/wiki/API:Main_page |
− | • https://www.mediawiki.org/wiki/API:Main_page/fr | + | *• https://www.mediawiki.org/wiki/API:Main_page/fr |
− | • https://www.mediawiki.org/wiki/API:Main_page/de | + | *• https://www.mediawiki.org/wiki/API:Main_page/de |
− | == Action API - | + | == Action API - Einführung == |
− | + | Quelle: https://www.mediawiki.org/wiki/API:Query/de | |
− | + | Mit dem '''action=query'''-Modul kannst Du Informationen über ein Wiki und die darin gespeicherten Daten abrufen, z. B. den Wikitext einer bestimmten Seite, die Links und Kategorien einer Reihe von Seiten oder das Token, das Du zum Ändern von Wiki-Inhalten benötigst. | |
− | + | Das Abfragemodul hat viele Untermodule (Abfragemodule genannt), die jeweils eine andere Funktion haben. Es gibt '''3 Arten von Abfragemodulen''': | |
− | * [https://www.mediawiki.org/wiki | + | * [https://www.mediawiki.org/wiki/API:Meta/de Meta-Informationen] über das Wiki und den angemeldeten Benutzer (z.B.: <nowiki>action=query&meta=submodule</nowiki> oder <nowiki>action=query&meta=submodule1|submodule2</nowiki>) |
− | * [https://www.mediawiki.org/wiki | + | * [https://www.mediawiki.org/wiki/API:Properties/de Eigenschaften] von Seiten, einschließlich Seitenrevisionen und Inhalt (z.B.: action=query&titles=title1&'''prop=property1|property2''') |
− | * [https://www.mediawiki.org/wiki | + | * [https://www.mediawiki.org/wiki/API:Lists/de Listen] von Seiten, die bestimmten Kriterien entsprechen (die meisten Listenabfragen geben [https://www.mediawiki.org/wiki/API:Lists/de Listen standardmäßig 10 Elemente zurück], z. B.: action=query&'''list=list1|list2''') |
− | + | * Du solltest mehrere Abfragemodule zusammen verwenden, um das Gewünschte in einer Anfrage zu erhalten, z. B. '''prop=info|revisions&list=backlinks|embeddedin|allimages&meta=userinfo''' ist ein Aufruf an sechs Module in einer Anfrage. | |
− | + | Alle Eigenschaftsabfragemodule arbeiten mit einer Reihe von Seiten, die Du entweder mit den Parametern '''titles''', '''pageids''', '''revids''' oder '''generator''' angibst. Fordere nicht jeweils eine Seite an - das ist sehr ineffizient und verbraucht viele zusätzliche Ressourcen und Bandbreite: Fordere Informationen über mehrere '''Seiten an, indem du ihre Titel oder ids mit dem Symbol '|' pipe''' kombinierst: titles=PageA|PageB|PageC. | |
− | + | Verwende den Generator, wenn du Daten über eine Gruppe von Seiten abrufen willst, die das Ergebnis eines anderen API-Aufrufs sind. Wenn du z. B. Daten über Seiten in einer bestimmten Kategorie abrufen willst, solltest du, anstatt list=categorymembers abzufragen und dann erneut mit pageids auf alle zurückgegebenen Seiten zu setzen, die beiden API-Aufrufe zu einem einzigen kombinieren, indem du '''generator=categorymembers''' anstelle des list-Parameters angibst. | |
− | + | Wenn du Wikimedia-Wikis abfragst und die Ergebnisse als format='''json''' (oder php) anforderst, dann gib formatversion=2 an. Das ursprüngliche Ergebnisformat war auf XML ausgelegt; die neue Struktur ist einfacher zu verarbeiten (und standardmäßig auf utf8 eingestellt). | |
− | === Action API - | + | === Action API - einfache Beispiele === |
− | http:// | + | http://de.wiki.ryzom.com/w/api.php?action=query&prop=revisions&rvprop=content&format=jsonfm&formatversion=2&titles=Main%20Page holt einfach das Wiki-Markup (Inhalt) einer Seite: holt (action=query) den Inhalt (rvprop=content) der letzten Revision der Hauptseite (titles=Main%20Page) in JSON mit Leerzeichen, um es leichter lesbar zu machen (format=jsonfm). |
− | ''' | + | '''Mit API Sandbox:''' ex1: action=query&prop=categories&generator=allpages&gapfrom=User_Manual [[File:FR API Sandbox ex1 2019-06-26.png|200px|right|FR API Sandbox]] |
− | * | + | * [[Special:ApiSandbox#action=query&format=json&prop=categories&generator=allpages&utf8=1&formatversion=latest&clprop=timestamp&gapfrom=Benutzerhandbuch|Beispiel 1 mit API Sandbox]] (über https://de.wiki.ryzom.com/wiki/Special:ApiSandbox#action=query&format=json&prop=categories&generator=allpages&utf8=1&formatversion=latest&clprop=timestamp&gapfrom=Benutzerhandbuch ) |
− | * | + | * Mit der API-Sandbox (Schaltfläche Weiter unten) [https://de.wiki.ryzom.com/wiki/Special:ApiSandbox#action=query&format=json&prop=categories&generator=allpages&utf8=1&formatversion=latest&clprop=timestamp&gapfrom=Benutzerhandbuch Beispiel 1 in der Sandbox] |
− | * 🇩🇪 [https://de.wiki.ryzom.com/wiki/Spezial:ApiSandbox#action=query&format=json&prop=categories&generator=allpages&utf8=1&formatversion=latest&clprop=timestamp&gapfrom=Benutzerhandbuch | + | * 🇩🇪 [https://de.wiki.ryzom.com/wiki/Spezial:ApiSandbox#action=query&format=json&prop=categories&generator=allpages&utf8=1&formatversion=latest&clprop=timestamp&gapfrom=Benutzerhandbuch Beispiel 1 (Benutzerhandbuch) in der API Sandbox] |
− | === Action API - | + | === Action API - Festlegen von Seiten === |
− | * | + | * Nach Name mit dem Parameter titles, z. B. '''titles'''=Foo|Bar|Main_Page |
− | * | + | * Nach der Seiten-ID unter Verwendung des pageids-Parameters, z. B. '''pageids'''=123|456|75915 |
− | * | + | * Nach Revisions-ID unter Verwendung des revids-Parameters, z. B. '''revids'''=478198|54872|54894545 |
− | ** | + | ** Die meisten Abfragemodule wandeln die Revisions-ID in die entsprechende Seiten-ID um. Nur prop=revisions verwendet tatsächlich die Revisions-ID selbst. |
− | * | + | * Verwendung eines Generators |
− | + | Die Angabe von Titeln über den Abfrage-String (entweder über titles oder pageids) ist auf '''50 Titel pro Abfrage''' begrenzt ('''oder 500''' für diejenigen mit dem Recht apihighlimits, normalerweise Bots und Sysops). | |
− | https://www.mediawiki.org/wiki/API:FAQ | + | https://www.mediawiki.org/wiki/API:FAQ/de |
− | * | + | * Wenn Du versuchst, Informationen über eine Seite zu erhalten, wirst Du wahrscheinlich ein prop= Submodul von action=query verwenden. Andere Abfrage-Submodule geben Listen von Seiten und Meta-Informationen über das Wiki zurück. Sieh Dir die generierte API-Hilfe für alle Abfrage-Submodule an. |
− | === Action API - | + | === Action API - Normalisierung von Titeln === |
− | + | konvertiert Seitentitel in ihre '''kanonische Form''' (Cap, ersetzt _ durch Leerzeichen und ändert den Namespace in die für dieses Wiki definierte lokalisierte Form). Die Normalisierung der Titel erfolgt automatisch, unabhängig davon, welche Abfragemodule verwendet werden. Nachfolgende Zeilenumbrüche in Seitentiteln ('''\n''') verursachen jedoch ein merkwürdiges Verhalten und sollten zuerst entfernt werden. | |
− | ''' | + | '''Fehlende und ungültige Titel''': erscheinen im <Seiten>-Abschnitt, haben aber das Attribut fehlend oder ungültig gesetzt. In Ausgabeformaten, die numerische Array-Schlüssel unterstützen (JSON und PHP serialisiert), werden fehlende und ungültige Titel eindeutige, ''negative Seiten-IDs'' haben. '''Abfragemodule werden fehlende oder ungültige Titel einfach ignorieren''', da sie damit nichts Sinnvolles anfangen können. Die Titel in den '''Special: und Media: Namespaces können nicht abgefragt werden'''. |
− | === | + | === Auflösen von Weiterleitungen === |
− | + | Wenn die Seite eine Weiterleitung hat, die Attribute ''von'' und ''bis'' enthalten und ein Attribut ''bisFragment'' für die Weiterleitungen enthalten können, die auf bestimmte Abschnitte verweisen. | |
− | === | + | === Weitergehende Fragen === |
− | + | Wenn mehr Daten vorhanden sind, die der Abfrage entsprechen, enthält das API-Ergebnis ein continue-Element. Wenn Du weitere Daten wünschst, füge deren Werte (im Beispiel continue=-|| und accontinue=List_of_19th_century_baseball_players) zur ursprünglichen Anfrage hinzu, um die nächste Gruppe von Ergebnissen zu erhalten. Fahre so lange fort, bis ein API-Ergebnis kein continue-Element enthält, was bedeutet, daß es keine weiteren Daten gibt, die der Abfrage entsprechen. | |
− | === | + | === Abrufen einer Liste von Seiten-IDs === |
− | + | Wenn '''nicht''' das neue JSON-Format Version=2 verwendet wird, wird die Ergebnisseite in JSON als ein Objekt zurückgegeben, das durch die Seiten-ID verschlüsselt ist, was schwierig sein kann, in JavaScript richtig zu iterieren. Der Parameter '''indexpageids''' gibt diese Seiten-IDs als Array zur einfacheren Iteration zurück. Beachte, daß die Reihenfolge dieser Seiten-IDs nicht unbedingt mit der Reihenfolge der Eingabe übereinstimmt (entweder direkt oder über einen Generator) | |
− | https:// | + | https://de.wikipedia.org/w/api.php?action=query&titles=Main%20Page%7CFksdlfsdss%7CTalk:&indexpageids=&format=jsonfm |
− | === | + | === Export von Seiten === |
− | + | Wenn der Parameter '''export''' gesetzt ist, wird dem Ergebnis ein XML-Dump aller Seiten im <pages>-Element hinzugefügt - er liefert nur ein Ergebnis, wenn er mit angegebenen Titeln (Generator, titles, pageids oder revid) verwendet wird. | |
− | + | Wenn der Parameter '''exportnowrap''' ebenfalls gesetzt ist, wird nur der XML-Dump (nicht in ein API-Ergebnis verpackt) zurückgegeben. | |
− | * | + | * Export von :en:User:Amosys/Draft/User_Manual/Part_4_-_Credits (mit ID, Revisions-ID und deren Mitwirkenden, Kommentar..) https://en.wiki.ryzom.com//w/api.php?action=query&titles=User:Amosys/Draft/User_Manual/Part_4_-_Credits|Talk:&export&exportnowrap |
− | === | + | === Generatoren: Verwenden Sie die Ausgabe einer Liste anstelle der Titel === |
− | + | Andere Abfragemodule behandeln die generierten Seiten so, als ob sie in einem Parameter angegeben wären. Es ist nur ein [https://www.mediawiki.org/wiki/API:Query/de#Beispiel_6:_Generatoren Generator] erlaubt. | |
+ | siehe [https://www.mediawiki.org/wiki/API:Lists/de Listen] | ||
+ | == Listen == | ||
+ | https://www.mediawiki.org/wiki/API:Lists/de | ||
− | + | Listen geben in der Regel Zusammenfassungen von Daten zurück, wie z. B. Seiten, die in einem Wiki gesammelt wurden, oder Links, die auf einer einzelnen Seite gesammelt wurden. Um eine Liste anzufordern, übergib dem list-Parameter Deines Query-Strings ein gültiges Listen-Submodul, wie z.B. allimages oder usercontribs. | |
− | == | + | Um die Listen-API zu verwenden, gib '''action=query&list=list1|list2''' in der URL an. |
− | |||
− | + | Beispiel: '''list=allcategories''' https://www.mediawiki.org/wiki/API:Allcategories/de | |
+ | * https://de.wikipedia.org/w/api.php?action=query&format=json&acfrom=15th-century%20caliphs&list=allcategories | ||
+ | * mit nb Seiten https://de.wiki.ryzom.com/w/api.php?action=query&format=json&acfrom=Gameplay&list=allcategories&acprop=size | ||
+ | * Die Antwort kann Kategorien enthalten, die gelöscht oder anderweitig leer sind => verwenden Sie '''acmin=1''', um nicht leere Kategorien zu erhalten. | ||
− | + | === Parameter === | |
− | + | '''acfrom''' Die Kategorie, in der die Aufzählung beginnen soll. | |
− | + | '''accontinue''' Wenn weitere Ergebnisse verfügbar sind, fahren Sie damit fort. | |
− | + | '''acto''' Die Kategorie, bei der die Aufzählung beendet werden soll. | |
− | * | + | '''acprefix''' Suche nach allen Kategorietiteln, die mit diesem Wert beginnen. |
+ | '''acdir''' Richtung, in der sortiert werden soll. Einer der folgenden Werte: ascending, descending. Standard: ascending. | ||
+ | '''acmin''' Es werden nur Kategorien mit mindestens so vielen Mitgliedern zurückgegeben. Typ: integer. | ||
+ | '''acmax''' Es werden nur Kategorien mit höchstens so vielen Mitgliedern zurückgegeben. Typ: integer. | ||
+ | '''aclimit''' Wie viele Kategorien zurückgegeben werden sollen. Nicht mehr als 500 (5.000 für Bots) erlaubt. Typ: integer oder max. Standard: 10 | ||
+ | '''acprop''' Welche Eigenschaften zu erwerben: | ||
+ | * '''size''' Fügt die Anzahl der Seiten in der Kategorie hinzu. | ||
+ | * '''hidden''' Tag-Kategorien, die mit <nowiki>__HIDDENCAT__</nowiki> versteckt werden. Werte (getrennt mit | oder alternativ): size, hidden Standard: (leer) | ||
− | === | + | Beispiel: |
+ | * Liste der Kategorien mit Informationen über die Anzahl der Seiten in jeder Kategorie [https://de.wiki.ryzom.com/w/api.php?action=query&list=allcategories&acprop=size api.php?action=query&list=allcategories&acprop=size] [https://fr.wiki.ryzom.com/w/api.php?action=query&list=allcategories&acprop=size%20api.php?action=query&list=allcategories&acprop=size Liste der Kategorien mit Informationen] über die Anzahl der Seiten in jeder Kategorie | ||
+ | * Abrufen von Informationen über die Kategorieseite selbst für Kategorien, die mit Liste '''api.php?action=query&generator=allcategories&gacprefix=List&prop=info''' beginnen [https://de.wiki.ryzom.com/w/api.php?action=query&generator=allcategories&gacprefix=List&prop=info Liste ist leer] Finde Infos auf der Seite der Kategorie selbst für Kategorien, die mit Liste beginnen. | ||
+ | ** Informationen auf der eigentlichen Kategorieseite für die Kategorien, die mit [https://de.wiki.ryzom.com/wiki/Kategorie:Chroniken Kategorie:Chroniken] beginnen https://de.wiki.ryzom.com/w/api.php?action=query&generator=allcategories&gacprefix=Chroniken&prop=info&format=json | ||
+ | ** Kategorieseite selbst für Kategorien, die mit [[:Kategorie:Chroniken|Chroniken]] beginnen https://de.wiki.ryzom.com/w/api.php?action=query&generator=allcategories&gacprefix=Chroniken&prop=info&format=json | ||
+ | ** mit [[:Kategorie:Chroniken Seit 2562]]: [https://de.wiki.ryzom.com/w/api.php?action=query&generator=allcategories&gacprefix=Chroniken Seit 2562&prop=info&format=json Chroniken Seit 2562] [https://de.wiki.ryzom.com/w/api.php?action=query&generator=allcategories&gacprefix=Chroniken Seit 2562&prop=info Kategorie:Chroniken Seit 2562] (leer) und [https://de.wiki.ryzom.com/w/api.php?action=query&generator=allcategories&gacprefix=Chroniken Seit 2562&prop=info Chroniken Seit 2562] | ||
− | + | === Beispiele === | |
− | + | Beispiel für die Auflistung von Seiten, die zu einer bestimmten Kategorie gehören '''list=categorymembers'''. https://www.mediawiki.org/wiki/API:Categorymembers/de | |
− | + | * 20 Seiten in [[:Kategorie:Gameplay]] https://de.wiki.ryzom.com/w/api.php?action=query&list=categorymembers&cmtitle=Kategorie:Gameplay&cmlimit=20&format=json | |
− | + | * 20 Seiten in FR catégorie:gameplay https://fr.wiki.ryzom.com/w/api.php?action=query&list=categorymembers&cmtitle=Category:Gameplay&cmlimit=20&format=json | |
− | + | * 10 Artikel, die zuletzt zu einer Kategorie hinzugefügt wurden https://de.wiki.ryzom.com/w/api.php?action=query&list=categorymembers&cmtitle=Kategorie:Gameplay&cmsort=timestamp&cmdir=desc&format=json | |
− | + | * Gemeinsam mit [https://atys.wiki.ryzom.com/wiki/Category:User_Manual_v4 User Manual v4] https://atys.wiki.ryzom.com/w/api.php?action=query&list=categorymembers&cmtitle=Category:User_Manual_v4&cmsort=timestamp&cmdir=desc&format=json | |
− | + | * Holen Sie sich '''10 Unterkategorien einer Kategorie''' https://de.wiki.ryzom.com/w/api.php?action=query&list=categorymembers&cmtitle=Category:Gameplay&cmtype=subcat&format=json und im [https://fr.wiki.ryzom.com/w/api.php?action=query&list=categorymembers&cmtitle=Category:Gameplay&cmtype=subcat&format=json FR Wiki] und aus [https://atys.wiki.ryzom.com/w/api.php?action=query&list=categorymembers&cmtitle=Category:Encyclopatys&cmlimit=20&cmtype=subcat&format=json Common unter EnzyklopAtys] unter [https://atys.wiki.ryzom.com/w/api.php?action=query&list=categorymembers&cmtitle=Category:EncyclopFR&cmtype=subcat&format=json EnzyklopFR] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | * 20 | ||
− | * 20 | ||
− | * 10 | ||
− | * | ||
− | * | ||
== Links == | == Links == | ||
− | https://www.mediawiki.org/wiki/API:FAQ/ | + | https://www.mediawiki.org/wiki/API:FAQ/de |
− | |||
---------------------------------------------------------- | ---------------------------------------------------------- | ||
− | [[ | + | <noinclude> |
+ | [[Kategorie:Hilfe]] | ||
+ | </noinclude> |
Version vom 12. März 2023, 10:31 Uhr
Die letzte Bearbeitung war von Leda am 12.03.2023.
- • https://www.mediawiki.org/wiki/API:Main_page
- • https://www.mediawiki.org/wiki/API:Main_page/fr
- • https://www.mediawiki.org/wiki/API:Main_page/de
Inhaltsverzeichnis
- 1 Action API - Einführung
- 1.1 Action API - einfache Beispiele
- 1.2 Action API - Festlegen von Seiten
- 1.3 Action API - Normalisierung von Titeln
- 1.4 Auflösen von Weiterleitungen
- 1.5 Weitergehende Fragen
- 1.6 Abrufen einer Liste von Seiten-IDs
- 1.7 Export von Seiten
- 1.8 Generatoren: Verwenden Sie die Ausgabe einer Liste anstelle der Titel
- 2 Listen
- 3 Links
Action API - Einführung
Quelle: https://www.mediawiki.org/wiki/API:Query/de
Mit dem action=query-Modul kannst Du Informationen über ein Wiki und die darin gespeicherten Daten abrufen, z. B. den Wikitext einer bestimmten Seite, die Links und Kategorien einer Reihe von Seiten oder das Token, das Du zum Ändern von Wiki-Inhalten benötigst.
Das Abfragemodul hat viele Untermodule (Abfragemodule genannt), die jeweils eine andere Funktion haben. Es gibt 3 Arten von Abfragemodulen:
- Meta-Informationen über das Wiki und den angemeldeten Benutzer (z.B.: action=query&meta=submodule oder action=query&meta=submodule1|submodule2)
- Eigenschaften von Seiten, einschließlich Seitenrevisionen und Inhalt (z.B.: action=query&titles=title1&prop=property1|property2)
- Listen von Seiten, die bestimmten Kriterien entsprechen (die meisten Listenabfragen geben Listen standardmäßig 10 Elemente zurück, z. B.: action=query&list=list1|list2)
- Du solltest mehrere Abfragemodule zusammen verwenden, um das Gewünschte in einer Anfrage zu erhalten, z. B. prop=info|revisions&list=backlinks|embeddedin|allimages&meta=userinfo ist ein Aufruf an sechs Module in einer Anfrage.
Alle Eigenschaftsabfragemodule arbeiten mit einer Reihe von Seiten, die Du entweder mit den Parametern titles, pageids, revids oder generator angibst. Fordere nicht jeweils eine Seite an - das ist sehr ineffizient und verbraucht viele zusätzliche Ressourcen und Bandbreite: Fordere Informationen über mehrere Seiten an, indem du ihre Titel oder ids mit dem Symbol '|' pipe kombinierst: titles=PageA|PageB|PageC.
Verwende den Generator, wenn du Daten über eine Gruppe von Seiten abrufen willst, die das Ergebnis eines anderen API-Aufrufs sind. Wenn du z. B. Daten über Seiten in einer bestimmten Kategorie abrufen willst, solltest du, anstatt list=categorymembers abzufragen und dann erneut mit pageids auf alle zurückgegebenen Seiten zu setzen, die beiden API-Aufrufe zu einem einzigen kombinieren, indem du generator=categorymembers anstelle des list-Parameters angibst.
Wenn du Wikimedia-Wikis abfragst und die Ergebnisse als format=json (oder php) anforderst, dann gib formatversion=2 an. Das ursprüngliche Ergebnisformat war auf XML ausgelegt; die neue Struktur ist einfacher zu verarbeiten (und standardmäßig auf utf8 eingestellt).
Action API - einfache Beispiele
http://de.wiki.ryzom.com/w/api.php?action=query&prop=revisions&rvprop=content&format=jsonfm&formatversion=2&titles=Main%20Page holt einfach das Wiki-Markup (Inhalt) einer Seite: holt (action=query) den Inhalt (rvprop=content) der letzten Revision der Hauptseite (titles=Main%20Page) in JSON mit Leerzeichen, um es leichter lesbar zu machen (format=jsonfm).
Mit API Sandbox: ex1: action=query&prop=categories&generator=allpages&gapfrom=User_Manual- Beispiel 1 mit API Sandbox (über https://de.wiki.ryzom.com/wiki/Special:ApiSandbox#action=query&format=json&prop=categories&generator=allpages&utf8=1&formatversion=latest&clprop=timestamp&gapfrom=Benutzerhandbuch )
- Mit der API-Sandbox (Schaltfläche Weiter unten) Beispiel 1 in der Sandbox
- 🇩🇪 Beispiel 1 (Benutzerhandbuch) in der API Sandbox
Action API - Festlegen von Seiten
- Nach Name mit dem Parameter titles, z. B. titles=Foo|Bar|Main_Page
- Nach der Seiten-ID unter Verwendung des pageids-Parameters, z. B. pageids=123|456|75915
- Nach Revisions-ID unter Verwendung des revids-Parameters, z. B. revids=478198|54872|54894545
- Die meisten Abfragemodule wandeln die Revisions-ID in die entsprechende Seiten-ID um. Nur prop=revisions verwendet tatsächlich die Revisions-ID selbst.
- Verwendung eines Generators
Die Angabe von Titeln über den Abfrage-String (entweder über titles oder pageids) ist auf 50 Titel pro Abfrage begrenzt (oder 500 für diejenigen mit dem Recht apihighlimits, normalerweise Bots und Sysops).
https://www.mediawiki.org/wiki/API:FAQ/de
- Wenn Du versuchst, Informationen über eine Seite zu erhalten, wirst Du wahrscheinlich ein prop= Submodul von action=query verwenden. Andere Abfrage-Submodule geben Listen von Seiten und Meta-Informationen über das Wiki zurück. Sieh Dir die generierte API-Hilfe für alle Abfrage-Submodule an.
Action API - Normalisierung von Titeln
konvertiert Seitentitel in ihre kanonische Form (Cap, ersetzt _ durch Leerzeichen und ändert den Namespace in die für dieses Wiki definierte lokalisierte Form). Die Normalisierung der Titel erfolgt automatisch, unabhängig davon, welche Abfragemodule verwendet werden. Nachfolgende Zeilenumbrüche in Seitentiteln (\n) verursachen jedoch ein merkwürdiges Verhalten und sollten zuerst entfernt werden.
Fehlende und ungültige Titel: erscheinen im <Seiten>-Abschnitt, haben aber das Attribut fehlend oder ungültig gesetzt. In Ausgabeformaten, die numerische Array-Schlüssel unterstützen (JSON und PHP serialisiert), werden fehlende und ungültige Titel eindeutige, negative Seiten-IDs haben. Abfragemodule werden fehlende oder ungültige Titel einfach ignorieren, da sie damit nichts Sinnvolles anfangen können. Die Titel in den Special: und Media: Namespaces können nicht abgefragt werden.
Auflösen von Weiterleitungen
Wenn die Seite eine Weiterleitung hat, die Attribute von und bis enthalten und ein Attribut bisFragment für die Weiterleitungen enthalten können, die auf bestimmte Abschnitte verweisen.
Weitergehende Fragen
Wenn mehr Daten vorhanden sind, die der Abfrage entsprechen, enthält das API-Ergebnis ein continue-Element. Wenn Du weitere Daten wünschst, füge deren Werte (im Beispiel continue=-|| und accontinue=List_of_19th_century_baseball_players) zur ursprünglichen Anfrage hinzu, um die nächste Gruppe von Ergebnissen zu erhalten. Fahre so lange fort, bis ein API-Ergebnis kein continue-Element enthält, was bedeutet, daß es keine weiteren Daten gibt, die der Abfrage entsprechen.
Abrufen einer Liste von Seiten-IDs
Wenn nicht das neue JSON-Format Version=2 verwendet wird, wird die Ergebnisseite in JSON als ein Objekt zurückgegeben, das durch die Seiten-ID verschlüsselt ist, was schwierig sein kann, in JavaScript richtig zu iterieren. Der Parameter indexpageids gibt diese Seiten-IDs als Array zur einfacheren Iteration zurück. Beachte, daß die Reihenfolge dieser Seiten-IDs nicht unbedingt mit der Reihenfolge der Eingabe übereinstimmt (entweder direkt oder über einen Generator)
Export von Seiten
Wenn der Parameter export gesetzt ist, wird dem Ergebnis ein XML-Dump aller Seiten im <pages>-Element hinzugefügt - er liefert nur ein Ergebnis, wenn er mit angegebenen Titeln (Generator, titles, pageids oder revid) verwendet wird. Wenn der Parameter exportnowrap ebenfalls gesetzt ist, wird nur der XML-Dump (nicht in ein API-Ergebnis verpackt) zurückgegeben.
- Export von :en:User:Amosys/Draft/User_Manual/Part_4_-_Credits (mit ID, Revisions-ID und deren Mitwirkenden, Kommentar..) https://en.wiki.ryzom.com//w/api.php?action=query&titles=User:Amosys/Draft/User_Manual/Part_4_-_Credits%7CTalk:&export&exportnowrap
Generatoren: Verwenden Sie die Ausgabe einer Liste anstelle der Titel
Andere Abfragemodule behandeln die generierten Seiten so, als ob sie in einem Parameter angegeben wären. Es ist nur ein Generator erlaubt.
siehe Listen
Listen
https://www.mediawiki.org/wiki/API:Lists/de
Listen geben in der Regel Zusammenfassungen von Daten zurück, wie z. B. Seiten, die in einem Wiki gesammelt wurden, oder Links, die auf einer einzelnen Seite gesammelt wurden. Um eine Liste anzufordern, übergib dem list-Parameter Deines Query-Strings ein gültiges Listen-Submodul, wie z.B. allimages oder usercontribs.
Um die Listen-API zu verwenden, gib action=query&list=list1|list2 in der URL an.
Beispiel: list=allcategories https://www.mediawiki.org/wiki/API:Allcategories/de
- https://de.wikipedia.org/w/api.php?action=query&format=json&acfrom=15th-century%20caliphs&list=allcategories
- mit nb Seiten https://de.wiki.ryzom.com/w/api.php?action=query&format=json&acfrom=Gameplay&list=allcategories&acprop=size
- Die Antwort kann Kategorien enthalten, die gelöscht oder anderweitig leer sind => verwenden Sie acmin=1, um nicht leere Kategorien zu erhalten.
Parameter
acfrom Die Kategorie, in der die Aufzählung beginnen soll. accontinue Wenn weitere Ergebnisse verfügbar sind, fahren Sie damit fort. acto Die Kategorie, bei der die Aufzählung beendet werden soll. acprefix Suche nach allen Kategorietiteln, die mit diesem Wert beginnen. acdir Richtung, in der sortiert werden soll. Einer der folgenden Werte: ascending, descending. Standard: ascending. acmin Es werden nur Kategorien mit mindestens so vielen Mitgliedern zurückgegeben. Typ: integer. acmax Es werden nur Kategorien mit höchstens so vielen Mitgliedern zurückgegeben. Typ: integer. aclimit Wie viele Kategorien zurückgegeben werden sollen. Nicht mehr als 500 (5.000 für Bots) erlaubt. Typ: integer oder max. Standard: 10 acprop Welche Eigenschaften zu erwerben:
- size Fügt die Anzahl der Seiten in der Kategorie hinzu.
- hidden Tag-Kategorien, die mit __HIDDENCAT__ versteckt werden. Werte (getrennt mit | oder alternativ): size, hidden Standard: (leer)
Beispiel:
- Liste der Kategorien mit Informationen über die Anzahl der Seiten in jeder Kategorie api.php?action=query&list=allcategories&acprop=size Liste der Kategorien mit Informationen über die Anzahl der Seiten in jeder Kategorie
- Abrufen von Informationen über die Kategorieseite selbst für Kategorien, die mit Liste api.php?action=query&generator=allcategories&gacprefix=List&prop=info beginnen Liste ist leer Finde Infos auf der Seite der Kategorie selbst für Kategorien, die mit Liste beginnen.
- Informationen auf der eigentlichen Kategorieseite für die Kategorien, die mit Kategorie:Chroniken beginnen https://de.wiki.ryzom.com/w/api.php?action=query&generator=allcategories&gacprefix=Chroniken&prop=info&format=json
- Kategorieseite selbst für Kategorien, die mit Chroniken beginnen https://de.wiki.ryzom.com/w/api.php?action=query&generator=allcategories&gacprefix=Chroniken&prop=info&format=json
- mit Kategorie:Chroniken Seit 2562: Seit 2562&prop=info&format=json Chroniken Seit 2562 Seit 2562&prop=info Kategorie:Chroniken Seit 2562 (leer) und Seit 2562&prop=info Chroniken Seit 2562
Beispiele
Beispiel für die Auflistung von Seiten, die zu einer bestimmten Kategorie gehören list=categorymembers. https://www.mediawiki.org/wiki/API:Categorymembers/de
- 20 Seiten in Kategorie:Gameplay https://de.wiki.ryzom.com/w/api.php?action=query&list=categorymembers&cmtitle=Kategorie:Gameplay&cmlimit=20&format=json
- 20 Seiten in FR catégorie:gameplay https://fr.wiki.ryzom.com/w/api.php?action=query&list=categorymembers&cmtitle=Category:Gameplay&cmlimit=20&format=json
- 10 Artikel, die zuletzt zu einer Kategorie hinzugefügt wurden https://de.wiki.ryzom.com/w/api.php?action=query&list=categorymembers&cmtitle=Kategorie:Gameplay&cmsort=timestamp&cmdir=desc&format=json
- Gemeinsam mit User Manual v4 https://atys.wiki.ryzom.com/w/api.php?action=query&list=categorymembers&cmtitle=Category:User_Manual_v4&cmsort=timestamp&cmdir=desc&format=json
- Holen Sie sich 10 Unterkategorien einer Kategorie https://de.wiki.ryzom.com/w/api.php?action=query&list=categorymembers&cmtitle=Category:Gameplay&cmtype=subcat&format=json und im FR Wiki und aus Common unter EnzyklopAtys unter EnzyklopFR
Links
https://www.mediawiki.org/wiki/API:FAQ/de