API:FAQ
Эта страница является частью документации по API действий MediaWiki. |
Обзор
Эта страница предоставляет ответы на некоторые часто задаваемые вопросы о MediaWiki Action API. This page is intended for technical contributors and software developers who wish to understand and use the MediaWiki Action API.
Также прочтите API:Главная страница . На ней есть ответы на некоторые вопросы, на которые здесь ответа нет, а также ссылки на другие полезные страницы.
Об API
Что такое API
API — это аббревиатура расшифровывается как. Это позволяет различным приложениям взаимодействовать друг с другом. Sometimes an API allows an application to request an action to be done by the application which implements the API. In mediawiki general terms, it refers to web-based APIs, which use HTTP requests-response mechanism and produce JSON/XML structured data.
Что такое REST API?
REST is an acronym for REpresentational State Transfer. A set of guiding principles or constraints define a RESTful system. A RESTful API — or just a REST API — adheres to these principles and hence is a faster, more reliable and scalable service.
Что может делать API?
Посмотрите на некоторые примеры использования API.
Где я могу познакомиться с дополнительной информацией о API?
Несколько источников:
- Понимание API (Understanding APIs)
- Введение в API (An Introduction to API’s)
- Что такое REST - простое объяснение для новичков, часть 1: Введение(What is REST — A Simple Explanation for Beginners, Part 1: Introduction)
Основное
Что такое MediaWiki Action API?
The MediaWiki Action API is a RESTful web service that allows users to perform certain wiki-actions like page creation, authentication, parsing, searching, etc.
Для чего можно использовать MediaWiki Action API?
MediaWiki Action API может быть использован для:
- Доступа к функциональности вики
- Взаимодействия с вики
- Получения метаданных о вики и публичных пользователях
Правая боковая панель указывает на многие функции, поддерживаемые API. Также см. проекты Викимедиа, использующие MediaWiki Action API.
Как я могу взаимодействовать с MediaWiki Action API?
HTTP requests обычно используются для обращения к Action API. Для получения дополнительной информации прочтите эту статью.
Чтобы поэкспериментировать с API
- используйте Special:ApiSandbox
- Включите консоль разработчика в вашем браузере и просматривайте сетевые запросы к
api.php
, в то время как вы взаимодействуете с вики
Что такое модуль, подмодуль и параметр?
В MediaWiki Action API есть множество модулей, которые мы используем для выполнения различных задач. С технической точки зрения модуль является подклассом ApiBase. Модулю требуются параметры. Эти параметры могут быть (а могут и не быть) подмодулями.
Рассмотрим следующий запрос:
here:
action
— параметр главного модуля.action=query
это другой модуль. Он называется модулем запроса.list
это параметр модуля запроса.list=search
также является модулем. Его можно назвать подмодулемaction=query
srsearch
is a parameter of the search module. It holds the search string 'abc'.format
- это параметр главного модуля.json
- это формат вывода
Также посмотрите Введение и рекомендации. Оно описывает подмодули модуля action=query
Как мне узнать, какой модуль и подмодуль вызывать?
Запрос к API MediaWiki достаточно большой, а расширения увеличивают его ещё сильнее. Вот несколько способов поработать с вашим запросом API:
- На боковой панели найдите функцию, которую хотите реализовать, и перейдите по ссылке, чтобы узнать, какие модули вызывать.
- самодокументирующиеся страницы API содержат список всех модулей и подмодулей с краткими описаниями. Вы можете начать с главного модуля и перейти по ссылкам к различным подмодулям. (Добавьте
recursivesubmodules=1
, чтобы просмотреть расширенную версию)
Где я могу найти примеры кодов для использования модулей API?
На страницах API-документации есть раздел «Примеры», демонстрирующий, как можно использовать различные модули и подмодули. В автоматически сгенерированных документах также есть примеры, завершающие описания модулей.
См. Mediawiki-API-demos для фрагментов кода на Python и JavaScript.
Как можно контролировать формат вывода?
Формат вывода по умолчанию - JSON. Другие форматы вывода объявлены устаревшими или удалены в последней стабильной версии MediaWiki, и их использование не рекомендуется.
В более старых версиях для управления форматом вывода вы можете передать &format=someformat
в строке запроса.
Для дополнительной информации смотрите API:Форматы данных.
Нужен ли мне токен доступа?
Вам потребуется токен доступа для выполнения действий по изменению данных, таких как вход в систему, редактирование, перемещение страниц и т.д.
Чтобы узнать больше, обратитесь к API: токены или к категории боковой панели 'Аутентификация'.
Как я могу делать межсайтовые запросы с помощью API?
Вы должны использовать JSONP или CORS для выполнения межсайтовых запросов в MediaWiki.
Подробнее см. API: межсайтовые запросы.
Есть ли ограничение на результаты запроса?
Да, это зависит от параметра запроса. Например, результаты запросов на list
и property
2 не могут превышать 500 для обычных пользователей.
На страницах API информация об этих ограничениях содержится в разделе 'Дополнительные примечания' или 'Ограничения'. Обратите внимание, что некоторые модули налагают более строгие ограничения при определенных условиях.
The API pages contain information about these limits in the 'Additional notes' section or the 'Limits' section. Note that some modules impose stricter limits under certain conditions.
Если вы не уверены, каков доступный вам предел, и хотите получить максимальное количество результатов за запрос, установите параметр предела как равный max
.
Есть ли ограничение на вызовы API?
Нет конкретного предела. Тем не менее, мы рекомендуем совершать разумное количество звонков, чтобы вас не заблокировали. Если вы хотите сделать много запросов, заранее свяжитесь с администраторами.
Также см. API: этикет.
Как я могу обновлять MediaWiki Action API?
Вы можете подписаться на список рассылки MediaWiki-API-Announce для получения объявлений и обновлений.
Что такое вики-дампы и как с ними работать?
Дампы данных Викимедиа представляют собой дампы коллекций вики, контента, метаданных, поисковых индексов и т.д. Для работы с дампами см. использование дампов и [публичных дампов https://dumps.wikimedia.org/].
Где я могу получить дополнительную помощь?
Если вы не можете найти ответы на страницах Документация MediaWiki API или автоматически сгенерированной документации, не стесняйтесь обращаться к нам следующими способами.
- Создайте учётную запись Викимедиа (если у вас её ещё нет) и добавьте новую тему на страницу обсуждения API.
- Задайте свой вопрос:
- IRC в канале #mediawiki подключиться.
- Список рассылки MediaWiki-API.
Разработчики расширений и владельцы вики
Как я могу создать модуль API в расширении?
API: Расширения проведет вас через полный процесс создания модуля API в расширении.
Какова внутренняя структура API?
API: стратегия реализации объясняет реализацию механизма API в MediaWiki Core.
Как я могу ограничить использование API?
Чтобы ограничить использование API, вы можете либо ограничить использование API записи, либо отключить отдельные модули.
Инструкции и примеры см. в API: Ограничение использования API.
Как я могу разрешить / запретить пользователям изменять содержимое вики с помощью API?
По умолчанию пользователям разрешено изменять содержимое вики. Чтобы ограничить, вы должны установить $wgEnableWriteAPI = false;
в LocalSettings.php .
Для получения дополнительной информации см. API: изменение содержимого вики.
Ошибки и устранение неполадок
Как определить ошибку?
Если вы столкнетесь с ошибкой, ответ об ошибке от API установит HTTP-заголовок MediaWiki-API-Error
и вернет структуру ошибки.
Что означает эта ошибка?
Найдите свою ошибку в списке стандартных сообщений об ошибках, чтобы понять, что означает данная ошибка.
Как мне отправить запрос об ошибке / функции?
Вы можете сообщать об ошибках с помощью инструмента отслеживания задач Викимедиа - в Phabricator.
Примечание:
- Add the MediaWiki-API project tag to your task.
- If your report/request is offered by an extension, add that extension's project. (e.g. MediaWiki-extensions-AbuseFilter, MediaWiki-extensions-FlaggedRevs, etc.)
- Verify for duplicates before creating a new task.
- Understand the task creation terms on Phabricator before proceeding.
See How to report a bug for more details.
Am I facing errors due to my API version?
If a website runs a different version of MediaWiki, it would also run a different version of the API. Some module parameters supported in one version might be deprecated (or removed) in others. Such parameters will throw an exception if used. The API pages document any such deprecations.
See the release notes for information regarding different API versions.
This page or project is maintained by Core Platform Team.
Получить помощь
|