Nápověda k MediaWiki API

Toto je automaticky generovaná dokumentační stránka k MediaWiki API.

Dokumentace a příklady: https://www.mediawiki.org/wiki/Special:MyLanguage/API:Main_page

Všeobecné informácie

Stav: Všechny funkce uvedené na této stránce by měly fungovat, ale API se stále aktivně vyvíjí a může se kdykoli změnit. Upozornění na změny získáte přihlášením se k e-mailové konferenci mediawiki-api-announce.

Chybné požadavky: Pokud jsou do API zaslány chybné požadavky, bude vrácena HTTP hlavička s klíčem „MediaWiki-API-Error“ a hodnota této hlavičky a chybový kód budou nastaveny na stejnou hodnotu. Více informací najdete v dokumentaci.

Metódy požiadaviek

Požiadavky Action API môžu používať metódy GET a POST. Uprednostňujte metódu GET, ktorá umožňuje smerovať požiadavky na rýchlejšie replikačné servery a ukladať odpovede do vyrovnávacej pamäte, pokiaľ by dĺžka URL s parametrami neprekročila jej limit (bežne 8000 bajtov) alebo modul neprijíma iba požiadavky POST.

Parametre požiadaviek POST sa môžu posielať v dotazovej časti URL požiadavky (ako pri požiadavkách GET) aj v tele požiadavky POST a miešanie oboch spôsobov v jednej požiadavke je povolené. Určité parametre, ako napríklad heslá, sa musia posielať v tele požiadavky. Ak sa rovnaký parameter pošle ako súčasť URL aj v tele požiadavky, musí mať na oboch miestach rovnakú hodnotu.

Datové typy

Vstup do MediaWiki by mal byť NFC-normalizované UTF-8. MediaWiki sa môže pokúsiť konvertovať iný vstup, ale môže to spôsobiť zlyhanie niektorých operácií (napríklad úprav s kontrolami MD5).

Parametre, ktoré prijímajú viacero hodnôt, sa bežne posielajú s hodnotami oddelenými znakom zvislej čiary, napr. param=value1|value2 alebo param=value1%7Cvalue2. Ak hodnota musí obsahovať znak zvislej čiary, použite ako oddeľovač U+001F (Unit Separator) a pred hodnotu vložte U+001F, napr. param=%1Fvalue1%1Fvalue2.

Niektoré typy parametrov v požiadavkách API vyžadujú ďalšie vysvetlenie:

boolean

Logické (boolean) parametre fungujú ako HTML zaškrtávacie polia: ak je parameter zadaný, bez ohľadu na hodnotu sa považuje za pravdivý (true). Pre hodnotu nepravda (false) parameter úplne vynechajte.

expiry

Hodnoty vypršania môžu byť relatívne (napr. 5 months alebo 2 weeks) alebo absolútne (napr. 2014-09-18T12:34:56Z). Ak vypršanie nemá nastať, použite infinite, indefinite, infinity alebo never.

timestamp

Časové pečiatky možno zadať v niekoľkých formátoch, podrobnosti nájdete vo vstupných formátoch knižnice Timestamp zdokumentovaných na mediawiki.org. Odporúča sa dátum a čas podľa ISO 8601: 2001-01-15T14:56:00Z. Na zadanie aktuálneho času možno použiť reťazec now.

Limity

Väčšina modulov API môže prijať až 50 vstupov v parametroch s viacerými hodnotami a môže vrátiť až 500 výsledkov na jeden dotaz (50 výsledkov pre pomalé dotazy).

Pre používateľov s právom apihighlimits (Roboti a Správci) sa limity zvyšujú na 500 vstupov a 5 000 výsledkov (500 výsledkov pre pomalé dotazy).

Šablonované parametry

Šablonované parametry umožňují situace, kdy modul API potřebuje hodnotu pro každou hodnotu nějakého jiného parametru. Pokud by například existoval modul API pro získání ovoce, mohl by mít parametr ovoce, kterým se určí požadované druhy ovoce, a šablonovaný parametr {ovoce}-počet, kterým se určí požadované počty jednotlivých druhů. Klient API, který by chtěl 1 jablko, 5 banánů a 20 jahod, by mohl vytvořit požadavek ovoce=jablka|banány|jahody&jablka-počet=1&banány-počet=5&jahody-počet=20.

Hlavní modul

Specify the action to perform, the format of the response, and options that apply to all API modules.

Parametry:
action

Která akce se má provést.

acquiretempusername
Získať meno dočasného používateľa a uložiť ho do aktuálnej relácie, ak je povolené vytváranie dočasných účtov a aktuálny používateľ je odhlásený. Ak už bolo nejaké meno uložené, vráti to isté meno.
block
Zablokovat uživatele.
changeauthenticationdata
Zmeniť autentifikačné údaje aktuálneho používateľa.
changecontentmodel
Zmeniť model obsahu stránky
checktoken
Skontrolovať platnosť tokenu z action=query&meta=tokens.
clearhasmsg
Vymaže príznak hasmsg pre aktuálneho používateľa.
clientlogin
Prihlásiť sa na wiki pomocou interaktívneho postupu.
compare
Vrátí rozdíl dvou stránek.
createaccount
Vytvořit nový uživatelský účet.
delete
Smazat stránku.
edit
Vytvářet a upravovat stránky.
emailuser
Poslat uživateli e-mail.
expandtemplates
Rozbalí všechny šablony ve wikitextu.
feedcontributions
Vrátí kanál příspěvků uživatele.
feedrecentchanges
Vráti kanál posledných zmien.
feedwatchlist
Vráti kanál zoznamu sledovaných.
filerevert
Revertovat soubor na starší verzi.
help
Zobrazuje nápovědu k uvedeným modulům.
imagerotate
Otočit jeden nebo více obrázků.
import
Importovať stránku z inej wiki alebo z XML súboru.
languagesearch
Vyhľadávať názvy jazykov v akomkoľvek písme.
linkaccount
Prepojiť účet od poskytovateľa tretej strany s aktuálnym používateľom.
login
Prihlásiť sa a získať autentifikačné cookies.
logout
Odhlásiť sa a vymazať údaje relácie.
managetags
Vykonávať úlohy správy súvisiace so značkami zmien.
mergehistory
Zlúčiť históriu stránok.
move
Přesunout stránku.
opensearch
Vyhledávání na wiki pomocí protokolu OpenSearch.
options
Zmeniť nastavenia aktuálneho používateľa.
paraminfo
Získať informácie o moduloch API.
parse
Parsuje obsah a vráti výstup parsera.
patrol
Strážiť stránku alebo revíziu.
protect
Změnit úroveň zamčení stránky.
purge
Vyprázdniť vyrovnávaciu pamäť pre zadané názvy stránok.
query
Získavať dáta z MediaWiki a o MediaWiki.
removeauthenticationdata
Odstrániť autentifikačné údaje aktuálneho používateľa.
resetpassword
Poslať používateľovi email na obnovenie hesla.
revisiondelete
Vymazávať a obnovovať revízie.
rollback
Vrátiť poslednú úpravu stránky.
rsd
Exportovať schému RSD (Really Simple Discovery).
setnotificationtimestamp
Aktualizovať časovú pečiatku upozornení pre sledované stránky.
setpagelanguage
Zmeniť jazyk stránky.
tag
Pridávať alebo odstraňovať značky zmien z jednotlivých revízií alebo položiek záznamov.
unblock
Odblokovať používateľa.
undelete
Obnoviť revízie vymazanej stránky.
unlinkaccount
Odstrániť prepojený účet tretej strany od aktuálneho používateľa.
upload
Nahrať súbor alebo získať stav čakajúcich nahraní.
userrights
Zmeniť členstvo používateľa v skupinách.
validatepassword
Overiť heslo voči politikám hesiel wiki.
watch
Pridávať alebo odstraňovať stránky zo zoznamu sledovaných aktuálneho používateľa.
cspreport
Interné. Používajú prehliadače na hlásenie porušení pravidiel Content Security Policy. Tento modul by sa nemal nikdy používať, s výnimkou automatického použitia webovým prehliadačom kompatibilným s CSP.
stashedit
Interné. Pripraviť úpravu v zdieľanej vyrovnávacej pamäti.
Jedna z následujících hodnot: acquiretempusername, block, changeauthenticationdata, changecontentmodel, checktoken, clearhasmsg, clientlogin, compare, createaccount, delete, edit, emailuser, expandtemplates, feedcontributions, feedrecentchanges, feedwatchlist, filerevert, help, imagerotate, import, languagesearch, linkaccount, login, logout, managetags, mergehistory, move, opensearch, options, paraminfo, parse, patrol, protect, purge, query, removeauthenticationdata, resetpassword, revisiondelete, rollback, rsd, setnotificationtimestamp, setpagelanguage, tag, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, watch, cspreport, stashedit
Predvolené: help
format

Formát výstupu.

json
Vypisuje data ve formátu JSON.
jsonfm
Vypisuje data ve formátu JSON (v čitelné HTML podobě).
none
Nevypisuje nic.
php
Vypisuje data v serializačním formátu PHP.
phpfm
Vypisuje data v serializačním formátu PHP (v čitelné HTML podobě).
rawfm
Data včetně ladicích prvků vypisuje ve formátu JSON (v čitelné HTML podobě).
xml
Vypisuje data ve formátu XML.
xmlfm
Vypisuje data ve formátu XML (v čitelné HTML podobě).
Jedna z následujících hodnot: json, jsonfm, none, php, phpfm, rawfm, xml, xmlfm
Predvolené: jsonfm
maxlag

Maximální zpoždění lze použít, když je MediaWiki nainstalováno na cluster s replikovanou databází. Abyste se vyhnuli zhoršování už tak špatného replikačního zpoždění, můžete tímto parametrem nechat klienta čekat, dokud replikační zpoždění neklesne pod uvedenou hodnotu. V případě příliš vysokého zpoždění se vrátí chybový kód „maxlag“ s hlášením typu „Waiting for $host: $lag seconds lagged“.
Více informací najdete v příručce.

Typ: celé číslo
smaxage

Nastaví HTTP hlavičku pro řízení kešování s-maxage na uvedený počet sekund. Chyby se nekešují nikdy.

Typ: celé číslo
Hodnota nesmie byť menšia ako 0.
Predvolené: 0
maxage

Nastaví HTTP hlavičku pro řízení kešování max-age na uvedený počet sekund. Chyby se nekešují nikdy.

Typ: celé číslo
Hodnota nesmie byť menšia ako 0.
Predvolené: 0
assert

Pokud je nastaveno na „user“, ověří, že je uživatel přihlášen, pokud je nastaveno na „bot“, ověří, že má oprávnění „bot“.

Jedna z následujících hodnot: anon, bot, user
assertuser

Ověřit, že současným uživatelem je uvedený uživatel.

Typ: uživatel, uvedený jako cokoli z: uživatelské jméno a Dočasný uživatel
requestid

Libovolná zde uvedená hodnota bude zahrnuta v odpovědi. Lze použít pro rozlišení požadavků.

servedby

Zahrnout do odpovědi název hostitele, který požadavek obsloužil.

Typ: logická hodnota (boolean) (podrobnosti)
curtimestamp

Zahrnout do odpovědi aktuální časové razítko.

Typ: logická hodnota (boolean) (podrobnosti)
responselanginfo

Zahrnúť do výsledku jazyky použité pre uselang a errorlang.

Typ: logická hodnota (boolean) (podrobnosti)
origin

Pokud k API přistupujete pomocí mezidoménového AJAXového požadavku (CORS), nastavte tento parametr na doménu původu. Musí být součástí všech předběžných požadavků, takže musí být součástí URI požadavku (nikoli těla POSTu).

U autentizovaných požadavků hodnota musí přesně odpovídat jednomu z původů v hlavičce Origin, takže musí být nastavena na něco jako https://en.wikipedia.org nebo https://meta.wikimedia.org. Pokud parametr neodpovídá hlavičce Origin, bude vrácena odpověď 403. Pokud parametr odpovídá hlavičce Origin a tento původ je na bílé listině, budou nastaveny hlavičky Access-Control-Allow-Origin a Access-Control-Allow-Credentials.

U neautentizovaných požadavků uveďte hodnotu *. To způsobí nastavení hlavičky Access-Control-Allow-Origin, ale hlavička Access-Control-Allow-Credentials bude false a budou omezena všechna data specifická pro uživatele.

crossorigin

Pri prístupe k API pomocou AJAX požiadavky medzi doménami (CORS) a použití poskytovateľa relácie, ktorý je bezpečný proti útokom CSRF (cross-site request forgery), ako je napríklad OAuth, použite tento parameter namiesto origin=*, aby bola požiadavka autentifikovaná (t. j. nie odhlásená). Musí byť zahrnutý v každej predbežnej (pre-flight) požiadavke, a preto musí byť súčasťou URL požiadavky (nie tela POST).

Upozorňujeme, že väčšina poskytovateľov relácií vrátane štandardných relácií založených na cookies nepodporuje autentifikované CORS a nemožno ich použiť s týmto parametrom.

Typ: logická hodnota (boolean) (podrobnosti)
uselang

Jazyk, který se má použít pro překlad hlášení. Pomocí action=query&meta=siteinfo se siprop=languages získáte seznam jazykových kódů nebo zadejte „user“ pro použití předvoleného jazyka aktuálního uživatele či „content“ pro použití jazyka obsahu této wiki.

Predvolené: user
variant

Variant jazyka. Funguje len vtedy, ak základný jazyk podporuje konverziu variantov.

errorformat

Formát, ktorý sa má použiť pre textový výstup upozornení a chýb

plaintext
Wikitext s odstránenými HTML značkami a nahradenými entitami.
wikitext
Neparsovaný wikitext.
html
HTML
raw
Kľúč správy a parametre.
none
Žiadny textový výstup, iba chybové kódy.
bc
Formát používaný pred MediaWiki 1.29. errorlang a errorsuselocal sa ignorujú.
Jedna z následujících hodnot: bc, html, none, plaintext, raw, wikitext
Predvolené: bc
errorlang

Jazyk, ktorý sa má použiť pre upozornenia a chyby. action=query&meta=siteinfo&siprop=languages vráti zoznam kódov jazykov. Zadajte content, aby sa použil jazyk obsahu tejto wiki, alebo uselang, aby sa použila rovnaká hodnota ako v parametri uselang.

Predvolené: uselang
errorsuselocal

Ak je zadané, chybové texty budú používať lokálne prispôsobené správy z menného priestoru MediaWiki.

Typ: logická hodnota (boolean) (podrobnosti)
Příklady:
Nápověda k hlavnímu modulu
api.php?action=help [otevřít v pískovišti]
Veškerá nápověda na jedné stránce
api.php?action=help&recursivesubmodules=1&toc [otevřít v pískovišti]

Zásluhy

Vývojáři API:

  • Jurij Astrachan (tvůrce, hlavní vývojář září 2006 – září 2007)
  • Roan Kattouw (hlavní vývojář září 2007–2009)
  • Viktor Vasiljev
  • Bryan Tong Minh
  • Sam Reed
  • Brad Jorsch (hlavní vývojář 2013–2020)

Své komentáře, návrhy či dotazy posílejte na mediawiki-api@lists.wikimedia.org nebo založte chybové hlášení na https://phabricator.wikimedia.org/.