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

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.

Parametry:
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č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.

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
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 [otevřít v pískovišti]
Oprávnění:
writeapi
Používání zapisovacího API
Uděleno skupinám: all, user, bot
apihighlimits
Používání vyšších limitů v API dotazech (pomalé dotazy: 500, rychlé dotazy: 5000). Limity pro pomalé dotazy se vztahují i na vícehodnotové parametry.
Uděleno skupinám: bot, sysop

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/.