Довідка API MediaWiki
Це автоматично генерована сторінка документації API MediaWiki.
Документація та приклади: https://www.mediawiki.org/wiki/API
Головний модуль
- Джерело: MediaWiki
- Ліцензія: GPL-2.0+
Статус: Усі функції, вказані на цій сторінці, мають працювати, але API далі перебуває в активній розробці і може змінитися у будь-який момент. Підпишіться на список розсилки mediawiki-api-announce, щоб помічати оновлення.
Хибні запити: Коли до API надсилаються хибні запити, буде відіслано HTTP-шапку з ключем «MediaWiki-API-Error», а тоді і значення шапки, і код помилки, надіслані назад, будуть встановлені з тим же значенням. Більше інформації див. на API: Errors and warnings.
Тестування: Для зручності тестування запитів API, див. Special:ApiSandbox.
- action
Яку дію виконати.
- block
- Заблокувати користувача.
- changeauthenticationdata
- Зміна параметрів аутентифікації для поточного користувача.
- checktoken
- Перевірити коректність токена з action=query&meta=tokens.
- clearhasmsg
- Очищає прапорець
hasmsg
для поточного користувача. - clientlogin
- Увійдіть у вікі з допомогою інтерактивного потоку.
- compare
- Отримати порівняння двох сторінок.
- createaccount
- Створити новий обліковий запис користувача.
- cspreport
- Використовується браузерами для повідомлення порушень Правил безпеки контенту (Content Security Policy). Цей модуль не повинен використовуватися, окрім випадків автоматичного використання веб-браузером для CSP-скарги.
- delete
- Вилучити сторінку.
- edit
- Створювати і редагувати сторінки.
- emailuser
- Надіслати електронного листа користувачеві
- expandtemplates
- Розгортає усі шаблони в межах вікірозмітки.
- feedcontributions
- Повертає стрічку внеску користувача.
- feedrecentchanges
- Видає стрічку нових редагувань.
- feedwatchlist
- Видає стрічку списку спостереження.
- filerevert
- Повернути файл до старої версії.
- help
- Відображати довідку для зазначених модулів.
- imagerotate
- Поворот одного або декількох зображень.
- import
- Імпортувати сторінку з іншої вікі або з XML-файлу.
- linkaccount
- Пов'язати обліковий запис третьої сторони з поточним користувачем.
- login
- Увійти в систему й отримати куки автентифікації.
- 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
- Змінити мову сторінки.
- spamblacklist
- Перевірити одну або кілька URL-адрес на наявність у SpamBlacklist.
- stashedit
- Підготувати редагування в загальний кеш.
- tag
- Додати або вилучити зміни міток з окремих версій або записів журналу.
- unblock
- Розблокувати користувача.
- undelete
- Відновити версії вилученої сторінки.
- unlinkaccount
- Вилучити пов'язаний обліковий запис третьої сторони з поточного користувача.
- upload
- Завантажити файл, або отримати статус завантажень у процесі.
- userrights
- Змінити членство користувача у групах.
- validatepassword
- Перевірити пароль на предмет відповідності політикам вікі щодо паролів.
- visualeditor
- Повертає HTML5 для сторінки від сервісу Parsoid.
- visualeditoredit
- Зберегти HTML5-сторінку у MediaWiki (конвертовану у вікітекст сервісом Parsoid).
- 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, spamblacklist, stashedit, tag, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, visualeditor, visualeditoredit, 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 з повідомленням на зразок Очікування на $host: $lag секунд(и) затримки.
Див. Manual: Maxlag parameter для детальнішої інформації.- Тип: ціле число
- smaxage
Встановити
s-maxage
HTTP кеш-контроль заголовок на стільки секунд. Помилки ніколи не кешуються.- Тип: ціле число
- За замовчуванням: 0
- maxage
Встановити
max-age
HTTP кеш-контроль заголовок на стільки секунд. Помилки ніколи не кешуються.- Тип: ціле число
- За замовчуванням: 0
- assert
Перевірити, що користувач увійшов у систему, якщо задано user, або має права бота, якщо задано bot.
- Одне з наступних значень: user, bot
- assertuser
Перевірити, чи поточний користувач є найменованим користувачем.
- Тип: ім'я користувача
- requestid
Будь-яке значення, вказане тут, буде включене у відповідь. Може використовуватися, щоб відрізняти запити.
- servedby
Включити в результати ім'я хоста, який обробив запит.
- Тип: логічний (деталі)
- curtimestamp
Включити в результат поточну мітку часу.
- Тип: логічний (деталі)
- responselanginfo
Включати мови, які були використані для uselang і errorlang, у результат.
- Тип: логічний (деталі)
- origin
При доступі до API з використанням крос-доменного AJAX-запиту (CORS), задайте параметру значення вихідного домена. Він має бути включений у будь-який попередній запит і таким чином мусить бути частиною запиту URI (не тіла POST).
Для автентифікованих запитів він повинен точно співпадати з одним з виходів у заголовку
Origin
, тобто бути заданим чимось на зразок https://uk.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-тегами і заміненими 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 потребують ширшого пояснення:
- boolean
- Логічні параметри працюють як галочки HTML: якщо параметр вказано, не залежно від значення, він вважається істинним. Щоб значення було хибним, пропустіть параметр зовсім.
- timestamp
- Часові мітки можуть бути вказані у кількох форматах. Рекомендується час і дата в 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
- Формат C ctime, Mon Jan 15 14:56:00 2001
- Секунди від 1970-01-01T00:00:00Z у вигляді цілого числа від 1 до 13 цифр (без 0)
- Рядок now
- альтернативний роздільник багатьох значень
- Параметри, що приймають багато значень, зазвичай подаються зі значеннями, розділеними вертикальною рискою, наприклад, param=value1|value2 або param=value1%7Cvalue2. Якщо значення повинне містити вертикальну риску, використовуйте як роздільник U+001F (роздільник одиниць) та поставте U+001F перед значенням, наприклад, param=%1Fvalue1%1Fvalue2.
Автор(и)
Розробники API:
- Roan Kattouw (головний розробник вер. 2007–2009)
- Victor Vasiliev
- Bryan Tong Minh
- Sam Reed
- Yuri Astrakhan (творець, головний розробник вер. 2006 – вер. 2007)
- Brad Jorsch (головний розробник 2013 – тепер)
Будь ласка, надсилайте свої коментарі, пропозиції та запитання на mediawiki-api@lists.wikimedia.org або зафайліть звіт про баґ на https://phabricator.wikimedia.org/.