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.

Parametry:
action

Která akce se má provést.

block
Zablokovat uživatele.
changeauthenticationdata
Change authentication data for the current user.
checktoken
Check the validity of a token from action=query&meta=tokens.
clearhasmsg
Clears the hasmsg flag for the current user.
clientlogin
Log in to the wiki using the interactive flow.
compare
Vrátí rozdíl dvou stránek.
createaccount
Vytvořit nový uživatelský účet.
cspreport
Used by browsers to report violations of the Content Security Policy. This module should never be used, except when used automatically by a CSP compliant web browser.
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
Returns a recent changes feed.
feedwatchlist
Returns a watchlist feed.
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
Import a page from another wiki, or from an XML file.
linkaccount
Link an account from a third-party provider to the current user.
login
Log in and get authentication cookies.
logout
Log out and clear session data.
managetags
Perform management tasks relating to change tags.
mergehistory
Merge page histories.
move
Přesunout stránku.
opensearch
Vyhledávání na wiki pomocí protokolu OpenSearch.
options
Change preferences of the current user.
paraminfo
Obtain information about API modules.
parse
Parses content and returns parser output.
patrol
Patrol a page or revision.
protect
Změnit úroveň zamčení stránky.
purge
Purge the cache for the given titles.
query
Fetch data from and about MediaWiki.
removeauthenticationdata
Remove authentication data for the current user.
resetpassword
Send a password reset email to a user.
revisiondelete
Delete and undelete revisions.
rollback
Undo the last edit to the page.
rsd
Export an RSD (Really Simple Discovery) schema.
setnotificationtimestamp
Update the notification timestamp for watched pages.
setpagelanguage
Change the language of a page.
stashedit
Prepare an edit in shared cache.
tag
Add or remove change tags from individual revisions or log entries.
unblock
Unblock a user.
undelete
Restore revisions of a deleted page.
unlinkaccount
Remove a linked third-party account from the current user.
upload
Upload a file, or get the status of pending uploads.
userrights
Change a user's group membership.
validatepassword
Validate a password against the wiki's password policies.
watch
Add or remove pages from the current user's watchlist.
tokens
Zastaralý. Get tokens for data-modifying actions.
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, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, watch, tokens
Implicitní hodnota: 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
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žitie API na zápis
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.

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

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