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/API
Hlavní modul
- Zdroj: MediaWiki
- Licence: GPL-2.0+
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.
Testování: Pro jednoduché testování požadavků na API zkuste Special:ApiSandbox.
- action
Která akce se má provést.
- Jedna z následujících hodnot: block, changeauthenticationdata, checktoken, clearhasmsg, clientlogin, compare, createaccount, cspreport, delete, edit, emailuser, expandtemplates, feedcontributions, feedrecentchanges, feedwatchlist, filerevert, help, imagerotate, import, linkaccount, login, logout, managetags, mergehistory, move, opensearch, options, paraminfo, parse, patrol, protect, purge, query, removeauthenticationdata, resetpassword, revisiondelete, rollback, rsd, setnotificationtimestamp, spamblacklist, stashedit, tag, tokens, unblock, undelete, unlinkaccount, upload, userrights, watch
- Implicitní hodnota: help
- format
Formát výstupu.
- Jedna z následujících hodnot: json, jsonfm, none, php, phpfm, rawfm, xml, xmlfm
- Implicitní hodnota: 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
- Implicitní hodnota: 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
- Implicitní hodnota: 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: user, bot
- assertuser
Verify the current user is the named user.
- Type: user name
- 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: boolean (podrobnosti)
- curtimestamp
Zahrnout do odpovědi aktuální časové razítko.
- Typ: 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čceOrigin
, bude vrácena odpověď 403. Pokud parametr odpovídá hlavičceOrigin
a tento původ je na bílé listině, budou nastaveny hlavičkyAccess-Control-Allow-Origin
aAccess-Control-Allow-Credentials
.U neautentizovaných požadavků uveďte hodnotu *. To způsobí nastavení hlavičky
Access-Control-Allow-Origin
, ale hlavičkaAccess-Control-Allow-Credentials
budefalse
a budou omezena všechna data specifická pro uživatele.- 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.
- Implicitní hodnota: user
- 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 [otevřít v pískovišti]
Datové typy
Vstupem do MediaWiki by mělo být UTF-8 normalizované do NFC. Jiný vstup se MediaWiki může pokusit převést, ale tím se může stát, že některé operace (např. editace s kontrolou MD5) selžou.
Některé typy parametrů v API potřebují bližší vysvětlení:
- boolean
- Booleovské parametry fungují jako zaškrtávací políčka v HTML: pokud je parametr uveden, bez ohledu na hodnotu, je považován za pravdivý. Pro nepravdivou hodnotu parametr zcela vynechte.
- časová značka
- Časové značky lze uvádět v několika formátech. Doporučuje se datum a čas podle ISO 8601. Všechny časy jsou v UTC a obsažené časové pásmo je ignorováno.
- Datum a čas podle ISO 8601, 2001-01-15T14:56:00Z (interpunkce a Z jsou nepovinné)
- Datum a čas podle ISO 8601 s (ignorovaným) zlomkem sekundy, 2001-01-15T14:56:00.00001Z (pomlčky, dvojtečky a Z jsou nepovinné)
- Formát MediaWiki, 20010115145600
- Obecný číselný formát, 2001-01-15 14:56:00 (nepovinné časové pásmo GMT, +## nebo -## se ignoruje)
- Formát EXIF, 2001:01:15 14:56:00
- Formát podle RFC 2822 (časové pásmo lze vynechat), Mon, 15 Jan 2001 14:56:00
- Formát podle RFC 850 (časové pásmo lze vynechat), Monday, 15-Jan-2001 14:56:00
- Formát podle céčkové funkce ctime, Mon Jan 15 14:56:00 2001
- Sekundy od 1970-01-01T00:00:00Z jako celé číslo o 1–13 číslicích (s výjimkou 0)
- Řetězec now
- alternativní oddělovač vícenásobných hodnot
- Parametry, které přijímají několik hodnot, se zpravidla předávají s hodnotami oddělenými svislítkem, např. param=hodnota1|hodnota2 nebo param=hodnota1%7Chodnota2. Pokud musí hodnota obsahovat svislítko, použijte jako oddělovač znak U+001F (Unit Separator) a před hodnotu přidejte U+001F, např. param=%1Fhodnota1%1Fhodnota2.
Zásluhy
Vývojáři API:
- Roan Kattouw (hlavní vývojář září 2007–2009)
- Viktor Vasiljev
- Bryan Tong Minh
- Sam Reed
- Jurij Astrachan (tvůrce, hlavní vývojář září 2006–září 2007)
- Brad Jorsch (hlavní vývojář od 2013)
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/.