Pomoc API MediaWiki
To jest automatycznie wygenerowana strona dokumentacji API MediaWiki.
Dokumentacja i przykłady: https://www.mediawiki.org/wiki/Special:MyLanguage/API:Main_page
General information
Stan: API MediaWiki jest ugruntowanym i stabilnym interfejsem, który jest aktywnie wspierany i ulepszany. Mimo iż staramy się tego unikać, czasami mogą mieć miejsce drastyczne zmiany; subskrybuj listę dyskusyjną mediawiki-api-announce, aby być na bieżąco ze zmianami.
Błędne żądania: Gdy zostanie wysłane błędne żądanie do API, zostanie wysłany w odpowiedzi nagłówek HTTP z kluczem „MediaWiki-API-Error” i zarówno jego wartość jak i wartość kodu błędu wysłanego w odpowiedzi będą miały taką samą wartość. Aby uzyskać więcej informacji, zobacz API: Błędy i ostrzeżenia.
Testowanie: Aby łatwo testować żądania API, zobacz Special:ApiSandbox.
Request methods
Action API requests may use GET and POST methods. Prefer using the GET method, which allows requests to be routed to faster replica servers and responses to be cached, unless the length of the URL with parameters would exceed its length limit (commonly 8000 bytes), or a module only accepts POST requests.
Parameters for POST requests may be sent in the query part of the request URL (like in GET requests) and in the POST request body, and mixing both ways in one request is allowed. Certain parameters such as passwords must be sent in the request body. If the same parameter is sent as part of the URL and also in the request body, it must have the same value in both places.
Typy danych
Input to MediaWiki should be NFC-normalized UTF-8. MediaWiki may attempt to convert other input, but this may cause some operations (such as edits with MD5 checks) to fail.
Parameters that take multiple values are normally submitted with the values separated using the pipe character, e.g. param=value1|value2 or param=value1%7Cvalue2. If a value must contain the pipe character, use U+001F (Unit Separator) as the separator and prefix the value with U+001F, e.g. param=%1Fvalue1%1Fvalue2.
Some parameter types in API requests need further explanation:
- boolean
Boolean parameters work like HTML checkboxes: if the parameter is specified, regardless of value, it is considered true. For a false value, omit the parameter entirely.
- expiry
Expiry values may be relative (e.g. 5 months or 2 weeks) or absolute (e.g. 2014-09-18T12:34:56Z). For no expiry, use infinite, indefinite, infinity or never.
- timestamp
Timestamps may be specified in several formats, see the Timestamp library input formats documented on mediawiki.org for details. ISO 8601 date and time is recommended: 2001-01-15T14:56:00Z. The string now may be used to specify the current time.
Limits
Most API modules can accept up to 50 inputs in multivalue parameters, and can return up to 500 results per query (50 results for slow queries).
For users with the apihighlimits right (Boty oraz Administratorzy), the limits are increased to 500 inputs and 5000 results (500 results for slow queries).
Templated parameters
Templated parameters support cases where an API module needs a value for each value of some other parameter. For example, if there were an API module to request fruit, it might have a parameter fruits to specify which fruits are being requested and a templated parameter {fruit}-quantity to specify how many of each fruit to request. An API client that wants 1 apple, 5 bananas, and 20 strawberries could then make a request like fruits=apples|bananas|strawberries&apples-quantity=1&bananas-quantity=5&strawberries-quantity=20.
Moduł główny
- Źródło: MediaWiki
- Licencja: GPL-2.0-or-later
Specify the action to perform, the format of the response, and options that apply to all API modules.
- action
Wybierz akcję do wykonania.
- acquiretempusername
- Acquire a temporary user username and stash it in the current session, if temp account creation is enabled and the current user is logged out. If a name has already been stashed, returns the same name.
- approve
- Przejrzyj wersję oznaczając ją jako zatwierdzoną lub niezatwierdzoną.
- approvedrev
- Fetch the ID for the approved revision of a page, if any.
- ask
- API module to query Semantic MediaWiki using the ask language.
- askargs
- API module to query Semantic MediaWiki using the ask language as list of conditions, printouts and parameters.
- block
- Zablokuj użytkownika.
- changeauthenticationdata
- Zmień dane logowania bieżącego użytkownika.
- changecontentmodel
- Zmień model zawartości strony
- checktoken
- Sprawdź poprawność tokenu z action=query&meta=tokens.
- clearhasmsg
- Czyści flagę
hasmsgdla bieżącego użytkownika. - clientlogin
- Zaloguj się na wiki używając interaktywnego flow.
- compare
- Pokaż porównanie dwóch stron.
- createaccount
- Utwórz nowe konto.
- delete
- Usuń stronę.
- edit
- Twórz i edytuj strony.
- emailuser
- Wyślij e‐mail do użytkownika.
- expandtemplates
- Rozwija wszystkie szablony zawarte w wikitekście.
- feedcontributions
- Zwraca kanał wkładu użytkownika.
- feedrecentchanges
- Zwraca kanał ostatnich zmian.
- feedwatchlist
- Zwraca kanał listy obserwowanych.
- filerevert
- Przywróć plik do starej wersji.
- help
- Wyświetl pomoc dla określonych modułów.
- imagerotate
- Obróć jeden lub wiecej obrazków.
- import
- Zaimportuj stronę z innej wiki, lub sformułuj plik XML.
- languagesearch
- Szukaj nazw języków zapisywanych dowolnym pismem.
- linkaccount
- Link an account from a third-party provider to the current user.
- login
- Zaloguj się i pobierz ciasteczka poświadczeń.
- logout
- Wyloguj i wyczyść dane sesji.
- managetags
- Wykonywanie zadań związanych z zarządzaniem znacznikami zmian.
- mergehistory
- Łączenie historii edycji.
- move
- Przenieś stronę.
- opensearch
- Przeszukaj wiki przy użyciu protokołu OpenSearch.
- options
- Zmienia preferencje bieżącego użytkownika.
- paraminfo
- Zdobądź informacje o modułach API.
- parse
- Parsuje treść i zwraca wynik pracy parsera.
- patrol
- Sprawdź stronę lub edycję.
- pfautocomplete
- Autouzupełnianie używane przez rozszerzenie Formularze Stron.
- pfautoedit
- Create or edit a page using a form defined by the Page Forms extension.
- protect
- Zmień poziom zabezpieczenia strony.
- purge
- Wyczyść pamięć podręczną dla stron o podanych tytułach.
- query
- Pozyskuj dane z i o MediaWiki.
- removeauthenticationdata
- Usuń dane poświadczeń obecnego użytkownika.
- resetpassword
- Wyślij użytkownikowi e-mail do resetowania hasła.
- revisiondelete
- Usuwaj i przywracaj wersje.
- rollback
- Wycofaj ostatnią edycję na stronie.
- rsd
- Export an RSD (Really Simple Discovery) schema.
- setnotificationtimestamp
- Update the notification timestamp for watched pages.
- setpagelanguage
- Zmień język strony.
- sformsselect
- smwbrowse
- API module to support browse activities for different entity types in Semantic MediaWiki.
- smwinfo
- Moduł API do pobierania informacji o statystykach Semantic MediaWiki i innych metainformacjach.
- smwtask
- Moduł API do wykonywania zadań związanych z Semantic MediaWiki (tylko do użytku wewnętrznego, nie publicznego).
- tag
- Add or remove change tags from individual revisions or log entries.
- unblock
- Odblokuj użytkownika.
- undelete
- Przywróć wersje usuniętej strony.
- unlinkaccount
- Remove a linked third-party account from the current user.
- upload
- Upload a file, or get the status of pending uploads.
- userrights
- Zmień przynależność użytkownika do grup.
- validatepassword
- Validate a password against the wiki's password policies.
- watch
- Dodaj strony do listy obserwowanych obecnego użytkownika lub usuń je z niej.
- cspreport
- Wewnętrzny. 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.
- stashedit
- Wewnętrzny. Prepare an edit in shared cache.
- Jedna z następujących wartości: acquiretempusername, approve, approvedrev, ask, askargs, 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, pfautocomplete, pfautoedit, protect, purge, query, removeauthenticationdata, resetpassword, revisiondelete, rollback, rsd, setnotificationtimestamp, setpagelanguage, sformsselect, smwbrowse, smwinfo, smwtask, tag, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, watch, cspreport, stashedit
- Domyślnie: help
- format
Format danych wyjściowych.
- json
- Dane wyjściowe w formacie JSON.
- jsonfm
- Dane wyjściowe w formacie JSON (prawidłowo wyświetlane w HTML).
- none
- Output nothing.
- rawfm
- Output data, including debugging elements, in JSON format (pretty-print in HTML).
- xml
- Dane wyjściowe w formacie XML.
- xmlfm
- Dane wyjściowe w formacie XML (prawidłowo wyświetlane w HTML).
- Jedna z następujących wartości: json, jsonfm, none, rawfm, xml, xmlfm
- Domyślnie: jsonfm
- maxlag
Maksymalne opóźnienie mogą być używane kiedy MediaWiki jest zainstalowana w klastrze zreplikowanej bazy danych. By zapisać działania powodujące większe opóźnienie replikacji, ten parametr może wymusić czekanie u klienta, dopóki opóźnienie replikacji jest mniejsze niż określona wartość. W przypadku nadmiernego opóźnienia, kod błędu maxlag jest zwracany z wiadomością jak Oczekiwanie na $host: $lag sekund opóźnienia.
Zobacz Podręcznik:Parametr Maxlag by uzyskać więcej informacji.- Typ: liczba całkowita
- smaxage
Ustaw nagłówek HTTP kontrolujący pamięć podręczną
s-maxagena taką ilość sekund. Błędy nie będą nigdy przechowywane w pamięci podręcznej.- Typ: liczba całkowita
- Wartość nie może być mniejsza niż 0.
- Domyślnie: 0
- maxage
Ustaw nagłówek HTTP kontrolujący pamięć podręczną
maxagena taką ilość sekund. Błędy nie będą nigdy przechowywane w pamięci podręcznej.- Typ: liczba całkowita
- Wartość nie może być mniejsza niż 0.
- Domyślnie: 0
- assert
Zweryfikuj, czy użytkownik jest zalogowany (włączając potencjalnych użytkowników tymczasowych), jeżeli wybrano user, niezalogowany, jeżeli wybrano anon, lub czy ma uprawnienia bota, jeżeli wybrano bot.
- Jedna z następujących wartości: anon, bot, user
- assertuser
Sprawdź, czy bieżący użytkownik posiada nazwę.
- Typ: użytkownik, podany jako: nazwa użytkownika oraz Tymczasowy użytkownik
- requestid
Każda wartość tu podana będzie dołączana do odpowiedzi. Może być użyta do rozróżniania żądań.
- servedby
Dołącz do odpowiedzi nazwę hosta, który obsłużył żądanie.
- Typ: wartość boolowska (szczegóły)
- curtimestamp
Dołącz obecny znacznik czasu do wyniku.
- Typ: wartość boolowska (szczegóły)
- responselanginfo
Dołącz języki użyte w uselang i errorlang do wyniku.
- Typ: wartość boolowska (szczegóły)
- origin
Łącząc się z API używając żądań AJAX z innej domeny internetowej (CORS) ustaw wartość tego parametru na domenę źródłową. Parametr ten musi być uwzględniony w każdym podstawowym żądaniu, toteż musi być częścią URI żądania (nie częścią żądania POST).
W uwierzytelnionych żądaniach wartość tego parametru musi dokładnie odpowiadać jednej ze źródłowych domen w nagłówku
Origin, powinna więc pasować do wzoru https://en.wikipedia.org lub https://meta.wikimedia.org. Jeżeli parametr nie odpowiada nagłówkowiOrigin, zwrócona zostanie odpowiedź z błędem 403. Jeżeli parametr odpowiada nagłówkowiOrigin, a domena źródłowa należy do akceptowanych, ustawione zostaną nagłówkiAccess-Control-Allow-OriginorazAccess-Control-Allow-Credentials.W nieuwierzytelnionych żądaniach podaj wartość *. Sprawi to, że ustawiony zostanie nagłówek
Access-Control-Allow-Origin, jednak nagłówekAccess-Control-Allow-Credentialsotrzyma wartośćfalsea wszelkie dane dotyczące użytkownika będą ograniczone.- crossorigin
When accessing the API using a cross-domain AJAX request (CORS) and using a session provider that is safe against cross-site request forgery (CSRF) attacks (such as OAuth), use this instead of
origin=*to make the request authenticated (i.e., not logged out). This must be included in any pre-flight request, and therefore must be part of the request URL (not the POST body).Note that most session providers, including standard cookie-based sessions, do not support authenticated CORS and cannot be used with this parameter.
- Typ: wartość boolowska (szczegóły)
- uselang
Język, w którym mają być pokazywane tłumaczenia komunikatów. action=query&meta=siteinfo&siprop=languages zwróci listę języków. Możesz wpisać user, aby pobrać z preferencji zalogowanego użytkownika lub content, aby wykorzystać język zawartości tej wiki.
- Domyślnie: user
- variant
Wariant języka. Działa wyłącznie, jeśli język bazowy obsługuje konwersję wariantów.
- errorformat
Format tekstu ostrzeżeń i błędów
- plaintext
- Wikitekst z usuniętymi znacznikami HTML i zastąpionymi encjami.
- wikitext
- Nieprzeparsowany wikitekst.
- html
- HTML
- raw
- Klucz komunikatu i parametry.
- none
- Brak tekstu wyjściowego, tylko kody błędów.
- bc
- Format używany przed MediaWiki w wersji 1.29. Parametry errorlang oraz errorsuselocal są ignorowane.
- Jedna z następujących wartości: bc, html, none, plaintext, raw, wikitext
- Domyślnie: bc
- errorlang
Język, w którym mają być pokazywane ostrzeżenia i błędy. action=query&meta=siteinfo&siprop=languages zwróci listę języków. Wpisz content, aby wykorzystać język zawartości tej wiki. Możesz też ustawić na uselang, aby użyć tej samej wartości co parametr uselang.
- Domyślnie: uselang
- errorsuselocal
Jeśli podano, teksty błędów będą używały lokalnie zmodyfikowanych komunikatów z przestrzeni MediaWiki.
- Typ: wartość boolowska (szczegóły)
- Pomoc dla modułu głównego
- api.php?action=help [otwórz w brudnopisie]
- Cała pomoc na jednej stronie.
- api.php?action=help&recursivesubmodules=1&toc [otwórz w brudnopisie]
Twórcy
Deweloperzy API:
- Yuri Astrakhan (twórca, główny programista wrzesień 2006–wrzesień 2007)
- Roan Kattouw (główny programista wrzesień 2007–2009)
- Victor Vasiliev
- Bryan Tong Minh
- Sam Reed
- Brad Jorsch (główny programista 2013–2020)
Prosimy wysyłać komentarze, sugestie i pytania do mediawiki-api@lists.wikimedia.org lub zgłaszać błędy na https://phabricator.wikimedia.org/.