API:Tutorial/cs

V tomto návodu se dozvíte o MediaWiki Action API, jak jej používat, formát požadavku, jednoduchý dotaz a příklady projektů využívajících Action API.

Procházejte ukázkové aplikace na Toolforge



Přehled rozhraní MediaWiki Action API
MediaWiki Action API je REST úplná webová služba, která uživatelům umožňuje provádět určité wiki-akce, např. vytváření stránek, ověřování, analyzování, vyhledávání atd. je dobrým výchozím bodem pro pochopení API.

Váš program odesílá požadavky do API, aby získal přístup k funkcím wiki. Například přihlášení na wiki, vytvoření a úpravu stránky, vyhledání názvu, vyhledání text obsahu nebo analýzu obsahu. Action API je k dispozici pro vývojáře třetích stran, vývojáře rozšíření Wikimedie a správce wiki stránek.

Na pravém postranním panelu této stránky je mnoho funkcí, které rozhraní API podporuje, seskupených podle kategorií. Před odesláním požadavků na wiki server si nejprve přečtěte stránky s přehledem, jako jsou formáty dat, chyby a varování a Action API FAQ.



Jak používat MediaWiki Action API
Můžete požádat o data ze strany klienta na server přes HTTP a získat odpověď zpět ve standardním formátu (obvykle JSON). Požadavek se skládá z koncového bodu a sady parametrů. Existují dva typy požadavků, které lze provést: GET a POST. U požadavku GET parametr v adrese URL obsahuje řetězec dotazu. U požadavku POST naformátujete parametry ve formátu JSON.



Formát požadavku
Všechny wikiny Wikimedie mají koncové body v tomto formátu. Chcete-li pracovat na hlavním webu MediaWiki nebo anglické Wikipedii, použijte související koncový bod. Například anglická Wikipedie. Pro testování nových účtů nebo testování úprav stránek použijte koncový bod testovací wiki.

Do řetězce dotazu v adrese URL přidejte parametr. Říká API, kterou akci má provést. Nejoblíbenější akcí je  (adresa URL by obsahovala ), což umožňuje načítání dat z wiki. Po parametru  přidejte další parametr, který označí, který ze tří typů modulu dotazu chcete provést:


 * - získá vlastnosti stránek
 * - získá seznam stránek odpovídajících určitému kritériu
 * - získá meta informace o wiki a o uživateli

Nakonec zahrňte parametr, který API říká, v jakém formátu má získat výsledky. Doporučený formát je JSON. API v minulosti podporovalo jiné výstupní formáty, ale obecně se nedoporučují.



Jednoduchý dotaz
Vezměme si příklad jednoduchého dotazu, abychom pochopili, jak by vypadal typický požadavek a odpověď GET v kontextu Action API.

Pojďme hledat název na wiki. Použijeme modul  zdokumentovaný na.



Dotazování přes GET
Chcete-li vyhledat názvy stránek nebo obsah odpovídající, bude adresa URL požadavku HTTP GET:Vysvětlení každé části adresy URL:


 * je hlavní koncový bod. V tomto případě je to anglická Wikipedie.
 * znamená načíst data z wiki.
 * znamená získat seznam stránek odpovídajících kritériím.
 * označuje název stránky nebo obsah, který se má hledat.  označuje znak mezery v adrese URL.
 * označuje výstup JSON, což je doporučený výstupní formát.

Odpověď
Odpovědí je dokument ve formátu JSON se seznamem názvů stránek, které odpovídají Craig Noone:

Examples of projects using Action API
Some example of projects in Wikimedia that use Action API:


 * Wikipedia iOS App, in which one of the features is to search for wiki pages near your location.
 * Bots that operate on a wiki. Pywikibot is a bot framework written in Python that interfaces with MediaWiki API which a lot of bot developers use.
 * API use in visualizing data obtained from a wiki. Such as this neat visualization that shows real time edits made on Wikipedia.

Additional notes

 * Several sites are using MediaWiki. They might all be running a different version of MediaWiki and in turn the API. Some module parameters supported in one version might be deprecated or removed in others. You could learn about that in each module's documentation via API help module.
 * If you want to make a lot of API calls, and perhaps run very busy and active bots, talk to wiki admins ahead of time, so they do not block you. See list of Administrators of Wikimedia projects. Read more about this topic on.
 * All data modifying actions such as logging, editing or moving a page, and watching or patrolling changes would require tokens. You would need to obtain tokens via to proceed further.

Resources

 * Use Special:APISandbox to experiment with the Action API. You can play around with supported actions, specify a value for parameters, and send requests to the API to see the results on the same page.
 * Wikimedia dumps so you can work with them locally.
 * Read through tutorials: An Introduction to API's and What is REST — A Simple Explanation for Beginners.
 * MediaWiki API help provides auto-generated API documentation of all supported modules.
 * provides an overview of the Action API.
 * Introduction to the MediaWiki API by User:Roan_Kattouw_(WMF) at the San Francisco Hackathon, 2012. This tutorial guide goes along with the video.
 * GitHub: MediaWiki API Demos