API: mokymo programa
This page is part of the MediaWiki Action API documentation. |
Šiame vadove sužinosite apie MediaWiki Action API, kaip ją naudoti, užklausos formatą, paprastą užklausą ir projektų, naudojančių Action API, pavyzdžius.
MediaWiki Action API apžvalga
MediaWiki Action API yra REST pilna žiniatinklio paslauga, leidžianti vartotojams atlikti tam tikrus wiki veiksmus, pvz. puslapio kūrimas, autentifikavimas, analizavimas, paieška ir kt. API:Pagrindinis puslapis is a good starting point for understanding the API.
Jūsų programa siunčia užklausas API, kad gautų prieigą prie wiki funkcijų. Pavyzdžiui, prisijunkite prie wiki, kurkite ir redaguokite puslapį, ieškokite pavadinimo, ieškokite turinio teksto arba analizuokite turinį. Action API galima naudoti trečiųjų šalių kūrėjams, Wikimedia plėtinių kūrėjams ir wiki svetainių administratoriams.
Dešinėje šio puslapio šoninėje juostoje yra daug funkcijų, kurias palaiko API, sugrupuotų pagal kategorijas. Prieš siųsdami užklausas į wiki serverį, pirmiausia perskaitykite apžvalgos puslapius, tokius kaip duomenų formatai, klaidos ir įspėjimai ir Action API DUK.
Kaip naudotis MediaWiki Action API
Galite prašyti duomenų iš kliento pusės į serverį per HTTP ir gauti atsakymą standartiniu formatu (paprastai JSON). Užklausą sudaro galutinis taškas ir parametrų rinkinys. Galima pateikti dviejų tipų užklausas: GET ir POST. GET užklausos parametre URL būtų užklausos eilutė. Jei norite gauti POST užklausą, suformatuokite parametrus JSON formatu.
Užklausos formatas
All Wikimedia Wikis have endpoints in this format http://example.org/w/api.php
. To operate on the MediaWiki main site or English Wikipedia, use the related endpoint. For example, the English Wikipedia is at https://en.wikipedia.org/w/api.php
. For testing new accounts or test edits to pages, use the test wiki endpoint https://test.wikipedia.org/w/api.php
.
URL užklausos eilutėje pridėkite parametrą action
. Jis nurodo API, kurį veiksmą atlikti. Populiariausias veiksmas yra query
(URL būtų action=query
), kuris leidžia gauti duomenis iš wiki. Po action
parametro pridėkite kitą parametrą, nurodydami, kurį iš trijų užklausos modulių tipų norite atlikti:
prop
- gauti puslapių savybeslist
- gauti tam tikrą kriterijų atitinkančių puslapių sąrašąmeta
- gauti meta informaciją apie wiki ir naudotoją
Galiausiai įtraukite parametrą format
, kuris nurodo API, kokiu formatu gauti rezultatus. Rekomenduojamas formatas yra JSON. API anksčiau palaikė kitus išvesties formatus, tačiau jie paprastai nerekomenduojami.
Paprasta užklausa
Paimkime paprastos užklausos pavyzdį, kad suprastume, kaip atrodytų tipiška GET užklausa ir atsakymas Veiksmo API kontekste.
Ieškokime pavadinimo wiki. Mes naudosime search
modulį, dokumentuotą API:Search .
GAUTI užklausą
Norint ieškoti puslapių pavadinimų ar turinio, atitinkančio Craig Noone
, HTTP GET užklausos URL būtų toks:
Kiekvienos URL dalies paaiškinimas:
http://en.wikipedia.org/w/api.php
is the main endpoint. In this case it is English Wikipedia.action=query
reiškia gauti duomenis iš wiki.list=search
reiškia gauti kriterijus atitinkančių puslapių sąrašą.srsearch=Craig%20Noone
nurodo puslapio pavadinimą arba turinį, kurio reikia ieškoti.%20
nurodo tarpo simbolį URL.format=json
nurodo JSON išvestį, kuris yra rekomenduojamas išvesties formatas.
Atsakymas
Atsakymas yra JSON formato dokumentas su puslapių pavadinimų sąrašu, atitinkančiu „Craig Noone“:
{
"batchcomplete": "",
"continue": {
"sroffset": 10,
"continue": "-||"
},
"query": {
"searchinfo": {
"totalhits": 210
},
"search": [
{
"ns": 0,
"title": "Craig Noone",
"pageid": 18846922,
"size": 22548,
"wordcount": 1771,
"snippet": "<span class=\"searchmatch\">Craig</span> Stephen <span class=\"searchmatch\">Noone</span> (born 17 November 1987) is an English professional footballer who plays as a winger for Bolton Wanderers. Born in Kirkby, he has also",
"timestamp": "2018-11-02T22:25:45Z"
},
{
"ns": 0,
"title": "Noone",
"pageid": 32906333,
"size": 553,
"wordcount": 64,
"snippet": "<span class=\"searchmatch\">Noone</span> is a surname that may refer to: <span class=\"searchmatch\">Craig</span> <span class=\"searchmatch\">Noone</span> (born 1987), English football midfielder Jimmie <span class=\"searchmatch\">Noone</span> (1895–1944), American jazz clarinetist Kathleen",
"timestamp": "2015-08-16T05:16:17Z"
}
...
]
}
}
== Projektų, naudojančių Action API ==, pavyzdžiai
Kai kurie „Wikimedia“ projektų, kuriuose naudojama „Action“ API, pavyzdžiai:
- Wikipedia iOS App, kurioje viena iš funkcijų yra ieškoti wiki puslapių netoli jūsų vietos.
- Botai, kurie veikia wiki. Pywikibot yra „Python“ parašyta roboto sistema, susieta su „MediaWiki“ API, kurią naudoja daugelis robotų kūrėjų.
- API use in visualizing data obtained from a wiki. Such as this neat visualization that shows real time edits made on Wikipedia.
Papildomos pastabos
- Kelios svetainės naudoja MediaWiki. Jie visi gali naudoti skirtingą MediaWiki versiją ir savo ruožtu API. Kai kurie modulio parametrai, palaikomi vienoje versijoje, gali būti nebenaudojami arba pašalinti kitose. Apie tai galite sužinoti kiekvieno modulio dokumentacijoje, naudodami API pagalbos modulį.
- Jei norite atlikti daug API skambučių ir galbūt paleisti labai užimtus ir aktyvius robotus, iš anksto pasikalbėkite su wiki administratoriais, kad jie jūsų neužblokuotų. Žr. Wikimedia projektų administratorių sąrašą. Skaitykite daugiau apie šią temą API:Etiquette .
- Visiems duomenų keitimo veiksmams, pvz., registravimui, redagavimui ar puslapio perkėlimui ir pakeitimų stebėjimui ar patruliavimui, reikės prieigos raktų. Norėdami tęsti, turėsite gauti žetonus per API:Tokens .
Resursai
- Eksperimentuokite su Action API naudodami Special:APISandbox. Galite žaisti su palaikomais veiksmais, nurodyti parametrų vertę ir siųsti užklausas API, kad pamatytumėte rezultatus tame pačiame puslapyje.
- Wikimedia dumps, kad galėtumėte dirbti su jais vietoje.
- Perskaitykite mokymo programas: Įvadas į API ir Kas yra REST – paprastas paaiškinimas pradedantiesiems.
- MediaWiki API žinynas teikia automatiškai sugeneruotą visų palaikomų modulių API dokumentaciją.
- API:Pagrindinis puslapis pateikiama Action API apžvalga.
- įvadas į MediaWiki API, kurį atliko User:Roan_Kattouw_(WMF) San Francisko hakatone, 2012 m.. Šis mokymo vadovas yra kartu su vaizdo įrašu.
- GitHub: MediaWiki API demonstracinės versijos