Справка MediaWiki API
Это автоматически сгенерированная страница документации MediaWiki API.
Документация и примеры: https://www.mediawiki.org/wiki/API
Главный модуль
- Источник: MediaWiki
- Лицензия: GPL-2.0-or-later
Статус: MediaWiki API — зрелый и стабильный интерфейс, активно поддерживаемый и улучшаемый. Мы стараемся избегать ломающих изменений, однако изредка они могут быть необходимы. Подпишитесь на почтовую рассылку mediawiki-api-announce, чтобы быть в курсе обновлений.
Ошибочные запросы: Если API получает запрос с ошибкой, вернётся заголовок HTTP с ключом «MediaWiki-API-Error», после чего значение заголовка и код ошибки будут отправлены обратно и установлены в то же значение. Более подробную информацию см. API: Ошибки и предупреждения.
Тестирование: для удобства тестирования API-запросов, см. Special:ApiSandbox.
- action
Действие, которое следует выполнить.
- block
- Блокировка участника.
- changeauthenticationdata
- Смена параметров аутентификации для текущего участника.
- checktoken
- Проверить корректность токена из action=query&meta=token.
- clearhasmsg
- Очистить флаг
hasmsg
для текущего участника. - clientlogin
- Вход в вики с помощью интерактивного потока.
- compare
- Получение разницы между двумя страницами.
- createaccount
- Создание новой учётной записи.
- cspreport
- Используется браузерами, чтобы сообщать о нарушениях политики безопасности (CSP). Этот модуль никогда не должен использоваться, за исключением случаев автоматического использования совместимыми с CSP браузерами.
- delete
- Удаление страницы.
- edit
- Создание и редактирование страниц.
- emailuser
- Написание электронных писем участнику.
- expandtemplates
- Разворачивание всех шаблонов в вики-текст.
- feedcontributions
- Возвращает ленту с вкладом участников.
- feedrecentchanges
- Возвращает ленту последних изменений.
- feedwatchlist
- Возвращает ленту списка наблюдения.
- filerevert
- Возвращение файла к старой версии.
- help
- Отображение справки указанных модулей.
- imagerotate
- Поворот одного или нескольких изображений.
- import
- Импорт страницы из другой вики или XML-файла.
- linkaccount
- Связать аккаунт третьей стороны с текущим участником.
- login
- Вход и получение аутентификационных cookie.
- logout
- Выйти и очистить данные сессии.
- managetags
- Осуществление задач, связанных с изменением меток.
- mergehistory
- Объединение историй правок.
- move
- Переименование страницы.
- opensearch
- Поиск по вики с использованием протокола OpenSearch.
- options
- Смена настроек текущего участника.
- paraminfo
- Получение информации о модулях API.
- parse
- Парсит содержимое и возвращает результат парсинга.
- patrol
- Патрулирование страницы или версии.
- protect
- Изменение уровня защиты страницы.
- purge
- Очистка кэша заданных страниц.
- query
- Запросить данные с и о MediaWiki.
- removeauthenticationdata
- Удаление аутентификационных данных для текущего участника.
- resetpassword
- Отправить участнику письмо для сброса пароля.
- revisiondelete
- Удаление и восстановление версий страниц.
- rollback
- Отмена последней правки на странице.
- rsd
- Экспорт схемы RSD (Really Simple Discovery).
- setnotificationtimestamp
- Обновление временной метки уведомления для отслеживаемых страниц.
- setpagelanguage
- Изменить язык страницы.
- stashedit
- Подготовка правки в общем кэше.
- tag
- Добавление или удаление меток отдельных правок или записей журналов.
- unblock
- Разблокировка участника.
- undelete
- Восстановление версий удалённой страницы.
- unlinkaccount
- Удаление связанного стороннего аккаунта с текущим участником.
- upload
- Загрузка файла или получение статуса незавершённых загрузок.
- userrights
- Изменение групп участника.
- validatepassword
- Проверка пароля на удовлетворение политики вики.
- watch
- Добавление или удаление страниц из списка наблюдения текущего участника.
- tokens
- Устарело. Получение токенов для действий, связанных с редактированием данных.
- Одно из следующих значений: block, changeauthenticationdata, checktoken, clearhasmsg, clientlogin, compare, createaccount, cspreport, delete, edit, emailuser, expandtemplates, feedcontributions, feedrecentchanges, feedwatchlist, filerevert, help, imagerotate, import, linkaccount, login, logout, managetags, mergehistory, move, opensearch, options, paraminfo, parse, patrol, protect, purge, query, removeauthenticationdata, resetpassword, revisiondelete, rollback, rsd, setnotificationtimestamp, setpagelanguage, stashedit, tag, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, watch, tokens
- По умолчанию: 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.- Тип: целое число
- smaxage
Установить значение HTTP-заголовка Cache-Control
s-maxage
в заданное число секунд. Ошибки никогда не кэшируются.- Тип: целое число
- По умолчанию: 0
- maxage
Установить значение HTTP-заголовка Cache-Control
max-age
в заданное число секунд. Ошибки никогда не кэшируются.- Тип: целое число
- По умолчанию: 0
- assert
Проверить, что участник авторизован, если задано user, или что он имеет права бота, если задано bot.
- Одно из следующих значений: user, bot
- assertuser
Проверить, что ник текущего участника совпадает с заданным.
- Тип: имя участника
- requestid
Любое заданное здесь значение будет включено в ответ. Может быть использовано для различения запросов.
- servedby
Включить в результаты имя хоста, обработавшего запрос.
- Тип: логический (подробнее)
- curtimestamp
Включить в результат временную метку.
- Тип: логический (подробнее)
- responselanginfo
Включить языки, использованные для uselang и errorlang, в результат.
- Тип: логический (подробнее)
- 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 игнорируются.
- Одно из следующих значений: plaintext, wikitext, html, raw, none, bc
- По умолчанию: bc
- errorlang
Язык, используемый для вывода предупреждений и сообщений об ошибках. Запрос action=query&meta=siteinfo с siprop=languages возвращает список кодов языков; укажите content для использования основного языка этой вики, или uselang для использования того же значения, что и в параметре uselang.
- По умолчанию: uselang
- errorsuselocal
Если задан, тексты ошибок будут использовать локально модифицированные сообщения из пространства имён MediaWiki.
- Тип: логический (подробнее)
- Помощь по главному модулю.
- api.php?action=help [открыть в песочнице]
- Вся справка на одной странице.
- api.php?action=help&recursivesubmodules=1 [открыть в песочнице]
Типы данных
Ввод в MediaWiki должен быть NFC-нормализованным UTF-8. MediaWiki может попытаться преобразовать другой ввод, но это приведёт к провалу некоторых операций (таких, как редактирование со сверкой MD5).
Некоторые типы параметров в запросах API требуют дополнительных пояснений:
- логический
- Логические параметры работают как флажки (checkboxes) в HTML: если параметр задан, независимо от его значения, он воспринимается за истину. Для передачи ложного значения просто опустите параметр.
- временные метки
- Временные метки могут быть заданы в нескольких форматах. Рекомендуемым является дата и время ISO 8601. Всё время считается в UTC, любые включённые часовые пояса игнорируются.
- Дата и время ISO 8601: 2001-01-15T14:56:00Z (знаки препинания и Z необязательны)
- Дата и время ISO 8601 с (игнорируемой) дробной частью секунд: 2001-01-15T14:56:00.00001Z (дефисы, двоеточия и Z необязательны)
- Формат MediaWiki: 20010115145600
- Общий числовой формат: 2001-01-15 14:56:00 (необязательный часовой пояс GMT, +## или -## игнорируется)
- Формат EXIF: 2001:01:15 14:56:00
- Формат RFC 2822 (часовой пояс может быть опущен): Mon, 15 Jan 2001 14:56:00
- Формат RFC 850 (часовой пояс может быть опущен): Monday, 15-Jan-2001 14:56:00
- Формат ctime языка программирования C: Mon Jan 15 14:56:00 2001
- Количество секунд, прошедших с 1970-01-01T00:00:00Z, в виде челого числа с от 1 до 13 знаками (исключая 0)
- Строка now
- альтернативный разделитель значений
- Параметры, принимающие несколько значений, обычно отправляются со значениями, разделёнными с помощью символа пайпа, например, param=value1|value2 или param=value1%7Cvalue2. Если значение должно содержать символ пайпа, используйте U+001F (Unit Separator) в качестве разделителя и добавьте в начало значения U+001F, например, param=%1Fvalue1%1Fvalue2.
Шаблонные параметры
Шаблонные параметры используются в случаях, когда модулю 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)
Пожалуйста, присылайте ваши комментарии, предложения и вопросы на адрес mediawiki-api@lists.wikimedia.org или присылайте отчёты об ошибках на https://phabricator.wikimedia.org/.