Справка MediaWiki API
Это автоматически сгенерированная страница документации MediaWiki API.
Документация и примеры: https://www.mediawiki.org/wiki/Special:MyLanguage/API:Main_page
Главный модуль
- Источник: MediaWiki
- Лицензия: GPL-2.0-or-later
Статус: MediaWiki API — зрелый и стабильный интерфейс, активно поддерживаемый и улучшаемый. Мы стараемся избегать ломающих изменений, однако изредка они могут быть необходимы. Подпишитесь на почтовую рассылку mediawiki-api-announce, чтобы быть в курсе обновлений.
Ошибочные запросы: Если API получает запрос с ошибкой, вернётся заголовок HTTP с ключом «MediaWiki-API-Error», после чего значение заголовка и код ошибки будут отправлены обратно и установлены в то же значение. Более подробную информацию см. API: Ошибки и предупреждения.
Тестирование: для удобства тестирования API-запросов, см. Special:ApiSandbox.
- action
Действие, которое следует выполнить.
- ask
- Модуль API для запроса Semantic MediaWiki с использованием языка запросов.
- askargs
- Модуль API для запроса Semantic MediaWiki с использованием языка запросов в качестве списка условий, распечаток и параметров.
- block
- Блокировка участника.
- changeauthenticationdata
- Смена параметров аутентификации для текущего участника.
- changecontentmodel
- Изменить модель содержимого страницы
- checktoken
- Проверить корректность токена из action=query&meta=token.
- clearhasmsg
- Очистить флаг
hasmsg
для текущего участника. - clientlogin
- Вход в вики с помощью интерактивного потока.
- commentblock
- Приложение для блокировки комментариев позволяет заблокировать участника от комментирования, который возник после заполнения следующих параметров: CommentID.
- commentdelete
- Приложение для удаления комментариев позволяет удалить комментарий, который возник после заполнения следующих параметров: CommentID.
- commenthide
- commentlatestid
- The commentlatestID API allows to retrieve latest comment ID after filling out the following parameters: pageID
- commentlist
- The commentlist API retrieves multiple comments and outputs them as a list after filling out the following parameters: pageID, order, pagerPage, and showForm.
- commentsubmit
- The commentsubmit API allows to submit/post a comment after filling out the following parameters: pageID, parentID, commentText.
- commentvote
- The commentvote API allows to vote on a comment after filling out the following parameters: commentID, voteValue.
- compare
- Получение разницы между двумя страницами.
- createaccount
- Создание новой учётной записи.
- delete
- Удаление страницы.
- edit
- Создание и редактирование страниц.
- emailuser
- Написание электронных писем участнику.
- expandtemplates
- Разворачивание всех шаблонов в вики-текст.
- ext.srf.slideshow.show
- feedcontributions
- Возвращает ленту с вкладом участников.
- feedrecentchanges
- Возвращает ленту последних изменений.
- feedwatchlist
- Возвращает ленту списка наблюдения.
- filerevert
- Возвращение файла к старой версии.
- getheaderfooter
- Retrieve the parsed output of a header or footer in the context of a certain page.
- help
- Отображение справки указанных модулей.
- imagerotate
- Поворот одного или нескольких изображений.
- import
- Импорт страницы из другой вики или XML-файла.
- linkaccount
- Связать аккаунт третьей стороны с текущим участником.
- login
- Вход и получение аутентификационных cookie.
- logout
- Выйти и очистить данные сессии.
- managetags
- Осуществление задач, связанных с изменением меток.
- mergehistory
- Объединение историй правок.
- move
- Переименование страницы.
- opensearch
- Поиск по вики с использованием протокола OpenSearch.
- options
- Смена настроек текущего участника.
- paraminfo
- Получение информации о модулях API.
- parse
- Парсит содержимое и возвращает результат парсинга.
- patrol
- Патрулирование страницы или версии.
- pfautocomplete
- Автодополнение, используемое расширением Page Forms
- pfautoedit
- Создать или изменить страницу, используя форму, определённую расширением Page Forms
- protect
- Изменение уровня защиты страницы.
- purge
- Очистка кэша заданных страниц.
- query
- Запросить данные с и о MediaWiki.
- ratepage
- Allows a user to vote on a page and gets the rating for a page. Requires specyfying one of two parameters: pageid or pagetitle.
- removeauthenticationdata
- Удаление аутентификационных данных для текущего участника.
- resetpassword
- Отправить участнику письмо для сброса пароля.
- revisiondelete
- Удаление и восстановление версий страниц.
- rollback
- Отмена последней правки на странице.
- rsd
- Экспорт схемы RSD (Really Simple Discovery).
- setnotificationtimestamp
- Обновление временной метки уведомления для отслеживаемых страниц.
- setpagelanguage
- Изменить язык страницы.
- smwbrowse
- Модуль API для поддержки действий просмотра для различных типов объектов в Semantic MediaWiki.
- smwinfo
- Модуль API для получения информации о статистике Semantic MediaWiki и другой метаинформации.
- smwtask
- Модуль API для выполнения задач, связанных с Semantic MediaWiki (только для внутреннего, не для публичного использования).
- spamblacklist
- Проверить один или несколько URL-адресов с помощью SpamBlacklist.
- tag
- Добавление или удаление меток отдельных правок или записей журналов.
- templatedata
- Получить данные, сохранённые расширением TemplateData.
- titleblacklist
- Подтвердите заголовок страницы, имя файла или имя пользователя в списке TitleBlacklist.
- unblock
- Разблокировка участника.
- undelete
- Восстановление версий удалённой страницы.
- unlinkaccount
- Удаление связанного стороннего аккаунта с текущим участником.
- upload
- Загрузка файла или получение статуса незавершённых загрузок.
- userrights
- Изменение групп участника.
- validatepassword
- Проверка пароля на удовлетворение политики вики.
- watch
- Добавление или удаление страниц из списка наблюдения текущего участника.
- webapp-manifest
- Возвращает манифест веб-приложения.
- browsebyproperty
- Устарело. Модуль API для получения информации о свойстве или списке свойств.
- browsebysubject
- Устарело. Модуль API для получения информации о предмете.
- mobileview
- Устарело. Возвращает данные, необходимые для мобильных представлений.
- tokens
- Устарело. Получение токенов для действий, связанных с редактированием данных.
- categorytree
- Внутренний. Внутренний модуль для расширения CategoryTree.
- cspreport
- Внутренний. Используется браузерами, чтобы сообщать о нарушениях политики безопасности (CSP). Этот модуль никогда не должен использоваться, за исключением случаев автоматического использования совместимыми с CSP браузерами.
- oathvalidate
- Внутренний. Подтвердите двухфакторный токен аутентификации (OATH).
- scribunto-console
- Внутренний. Internal module for servicing XHR requests from the Scribunto console.
- stashedit
- Внутренний. Подготовка правки в общем кэше.
- visualeditor
- Внутренний. Возвращает HTML5 для страницы с сервиса Parsoid.
- visualeditoredit
- Внутренний. Сохранить в MediaWiki страницу в формате HTML5 (сконвертированную в вики-текст с помощью Parsoid).
- Одно из следующих значений: ask, askargs, block, changeauthenticationdata, changecontentmodel, checktoken, clearhasmsg, clientlogin, commentblock, commentdelete, commenthide, commentlatestid, commentlist, commentsubmit, commentvote, compare, createaccount, delete, edit, emailuser, expandtemplates, ext.srf.slideshow.show, feedcontributions, feedrecentchanges, feedwatchlist, filerevert, getheaderfooter, help, imagerotate, import, linkaccount, login, logout, managetags, mergehistory, move, opensearch, options, paraminfo, parse, patrol, pfautocomplete, pfautoedit, protect, purge, query, ratepage, removeauthenticationdata, resetpassword, revisiondelete, rollback, rsd, setnotificationtimestamp, setpagelanguage, smwbrowse, smwinfo, smwtask, spamblacklist, tag, templatedata, titleblacklist, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, watch, webapp-manifest, browsebyproperty, browsebysubject, mobileview, tokens, categorytree, cspreport, oathvalidate, scribunto-console, stashedit, visualeditor, visualeditoredit
- По умолчанию: help
- format
Формат вывода.
- json
- Выводить данные в формате JSON.
- jsonfm
- Выводить данные в формате JSON (отформатированном в HTML).
- none
- Ничего не выводить.
- php
- Выводить данные в сериализованном формате PHP.
- phpfm
- Выводить данные в сериализованном формате PHP (отформатированном в HTML).
- rawfm
- Выводить данные, включая элементы отладки, в формате JSON (отформатированном в HTML).
- xml
- Выводить данные в формате XML.
- xmlfm
- Выводить данные в формате XML (отформатированном в HTML).
- Одно из следующих значений: json, jsonfm, none, php, phpfm, rawfm, xml, xmlfm
- По умолчанию: jsonfm
- maxlag
Значение максимального отставания может использоваться, когда MediaWiki установлена на кластер из реплицируемых баз данных. Чтобы избежать ухудшения ситуации с отставанием репликации сайта, этот параметр может заставить клиента ждать, когда задержка репликации станет ниже указанного значения. В случае чрезмерной задержки возвращается код ошибки «maxlag» с сообщением «Waiting for $host: $lag seconds lagged».
См. подробнее на странице с описанием Manual: параметра Maxlag.- Type: integer
- smaxage
Установить значение HTTP-заголовка Cache-Control
s-maxage
в заданное число секунд. Ошибки никогда не кэшируются.- Type: integer
- По умолчанию: 0
- maxage
Установить значение HTTP-заголовка Cache-Control
max-age
в заданное число секунд. Ошибки никогда не кэшируются.- Type: integer
- По умолчанию: 0
- assert
Проверить, авторизован ли участник, если задано user, not авторизирован если задано anon или что он имеет права бота, если задано bot.
- Одно из следующих значений: anon, bot, user
- assertuser
Проверить, что ник текущего участника совпадает с заданным.
- Тип: пользователь, из Имя пользователя
- requestid
Любое заданное здесь значение будет включено в ответ. Может быть использовано для различения запросов.
- servedby
Включить в результаты имя хоста, обработавшего запрос.
- Type: boolean (details)
- curtimestamp
Включить в результат временную метку.
- Type: boolean (details)
- responselanginfo
Включить языки, использованные для uselang и errorlang, в результат.
- Type: boolean (details)
- origin
При обращении к API с использованием кросс-доменного AJAX-запроса (CORS), задайте параметру значение исходного домена. Этот параметр должен быть включён в любой предварительный запрос и таким образом должен быть частью URI-запроса (не тела POST).
Для аутентифицированных запросов он должен точно соответствовать одному из источников в заголовке
Origin
, так что он должен быть задан наподобие https://ru.wikipedia.org или https://meta.wikimedia.org. Если параметр не соответствует заголовкуOrigin
, будет возвращён ответ с кодом ошибки 403. Если параметр соответствует заголовкуOrigin
, и источник находится в белом списке, будут установлены заголовкиAccess-Control-Allow-Origin
иAccess-Control-Allow-Credentials
.Для неаутентифицированных запросов укажите значение *. В результате заголовок
Access-Control-Allow-Origin
будет установлен, ноAccess-Control-Allow-Credentials
примет значениеfalse
и все пользовательские данные будут ограничены.- uselang
Язык, используемый для перевода сообщений. Запрос action=query&meta=siteinfo с siprop=languages возвращает список кодов языков; укажите user, чтобы использовать текущие языковые настройки участника, или content для использования основного языка этой вики.
- По умолчанию: user
- errorformat
Формат, используемый для вывода текста предупреждений и ошибок.
- plaintext
- Вики-текст с удалёнными HTML-тегами и замещёнными мнемониками.
- wikitext
- Нераспарсенный вики-текст.
- html
- HTML.
- raw
- Ключ сообщения и параметры.
- none
- Без текстового вывода, только коды ошибок.
- bc
- Формат, используемый до MediaWiki 1.29. errorlang и errorsuselocal игнорируются.
- Одно из следующих значений: bc, html, none, plaintext, raw, wikitext
- По умолчанию: bc
- errorlang
Язык, используемый для вывода предупреждений и сообщений об ошибках. Запрос action=query&meta=siteinfo с siprop=languages возвращает список кодов языков; укажите content для использования основного языка этой вики, или uselang для использования того же значения, что и в параметре uselang.
- По умолчанию: uselang
- errorsuselocal
Если задан, тексты ошибок будут использовать локально модифицированные сообщения из пространства имён MediaWiki.
- Type: boolean (details)
- Помощь по главному модулю.
- api.php?action=help [открыть в песочнице]
- Вся справка на одной странице.
- api.php?action=help&recursivesubmodules=1 [открыть в песочнице]
Типы данных
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 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. Additionally, the string now may be used to specify the current timestamp.
Шаблонные параметры
Шаблонные параметры используются в случаях, когда модулю API нужно получить по параметру со значением на каждое значение другого параметра. Например, если бы был модуль API, запрашивающий фрукты, у него мог бы быть параметр фрукты, указывающий, какие фрукты запрашиваются, и шаблонный параметр {фрукт}-в-количестве, указывающий, сколько фруктов каждого вида запросить. Клиент API, который хочет запросить 1 яблоко, 5 бананов и 20 апельсинов, мог бы тогда сделать запрос наподобие фрукты=яблоки|бананы|апельсины&яблоки-в-количестве=1&бананы-в-количестве=5&апельсины-в-количестве=20.
Создатели
Разработчики API:
- Yuri Astrakhan (создатель, ведущий разработчик с сентября 2006 по сентябрь 2007)
- Roan Kattouw (ведущий разработчик 2007—2009)
- Victor Vasiliev
- Bryan Tong Minh
- Sam Reed
- Brad Jorsch (ведущий разработчик с 2013)
Пожалуйста, присылайте ваши комментарии, предложения и вопросы на адрес [email protected] или присылайте отчёты об ошибках на https://phabricator.wikimedia.org/.