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). A request consists of an endpoint and a set of parameters. There are two types of request that can be made: GET and POST. For a GET request, a parameter would contain a query string in the URL. For a POST request, format the parameters in JSON format.

Request format
All Wikimedia Wikis have endpoints in this format. To operate on the MediaWiki main site or English Wikipedia, use the related endpoint. For example, the English Wikipedia is at. For testing new accounts or test edits to pages, use the test wiki endpoint.

In the query string in the URL, add the  parameter. It tells the API which action to perform. The most popular action is  (the URL would contain ), which allows fetching data from a wiki. Following the  parameter, add another parameter to indicate which one of the three query module types you want to perform:


 * - get properties of pages
 * - get list of pages matching a certain criterion
 * - get meta information about the wiki and user

Finally, include the  parameter, which tells the API in which format to get the results. The recommended format is JSON. The API has supported other output formats in the past, but they are not generally recommended.

A simple query
Let’s take an example of a simple query to understand what a typical GET request and response would look like in the context of the Action API.

Let's search for a title in a wiki. We will use the  module documented on.

GET request
To search for page titles or content matching, the URL for the HTTP GET request would be: Explanation of each part of the URL:


 * is the main endpoint. In this case it is English Wikipedia.
 * means fetch data from wiki.
 * means get list of pages matching a criteria.
 * indicates the page title or content to search for. The  indicates a space character in a URL.
 * indicates JSON output, which is the recommended output format.

Response
The response is a JSON format document with a list of pages titles that match 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