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, setpagelanguage, stashedit, tag, tokens, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, 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)
responselanginfo

Include the languages used for uselang and errorlang in the result.

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
errorformat

Format to use for warning and error text output.

plaintext
Wikitext with HTML tags removed and entities replaced.
wikitext
Unparsed wikitext.
html
HTML.
raw
Message key and parameters.
none
No text output, only the error codes.
bc
Format used prior to MediaWiki 1.29. errorlang and errorsuselocal are ignored.
Jedna z následujících hodnot: plaintext, wikitext, html, raw, none, bc
Implicitní hodnota: bc
errorlang

Language to use for warnings and errors. action=query&meta=siteinfo with siprop=languages returns a list of language codes, or specify content to use this wiki's content language, or specify uselang to use the same value as the uselang parameter.

Implicitní hodnota: uselang
errorsuselocal

If given, error texts will use locally-customized messages from the MediaWiki namespace.

Typ: 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 [otevřít v pískovišti]
Oprávnění:
writeapi
Používání zapisovacího API
Uděleno skupinám: all, user a 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 a 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/.