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.
Testování: Pro jednoduché testování požadavků na API zkuste Special:ApiSandbox.
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
- Zdroj: MediaWiki
- Licence: GPL-2.0-or-later
Specify the action to perform, the format of the response, and options that apply to all API modules.
- 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
hasmsgpre 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-maxagena 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-agena 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čceOrigin, bude vrácena odpověď 403. Pokud parametr odpovídá hlavičceOrigina tento původ je na bílé listině, budou nastaveny hlavičkyAccess-Control-Allow-OriginaAccess-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-Credentialsbudefalsea 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)
- 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/.