API:FAQ/ru

Обзор
Эта страница предоставляет ответы на некоторые часто задаваемые вопросы о MediaWiki Action API.

Также прочтите. На ней есть ответы на некоторые вопросы, на которые здесь ответа нет, а также ссылки на другие полезные страницы.

Что такое API
API - это аббревиатура расшифровывается как программный интерфейс приложения. Это позволяет различным приложениям взаимодействовать друг с другом. В общих чертах это относится к Web-API, который использует механизм HTTP-запросов-ответов и создают структурированные данные в форматеJSON / XML.

Что такое REST API?
REST is an acronym for REpresentational State Transfer. A set of guiding principles or constraints define a RESTful system. A RESTful API &mdash; or just a REST API &mdash; 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
 * Включите консоль разработчика в вашем браузере и просматривайте сетевые запросы к, в то время как вы взаимодействуете с вики

Что такое модуль, подмодуль и параметр?
В MediaWiki Action API есть множество модулей, которые мы используем для выполнения различных задач. С технической точки зрения модуль является подклассом ApiBase. Модулю требуются параметры. Эти параметры могут быть (а могут и не быть) подмодулями.

Рассмотрим следующий запрос: here


 * - это параметр главного модуля.
 * это другой модуль. Он называется модулем запроса.
 * это параметр модуля запроса.
 * также является модулем. Его можно назвать подмодулем
 * $ 1 - это параметр модуля поиска. Он содержит строку поиска 'abc'.
 * - это параметр главного модуля.
 * - это формат вывода

Также посмотрите Введение и рекомендации. Оно описывает подмодули модуля

Как мне узнать, какой модуль и подмодуль вызывать?
Запрос к API MediaWiki достаточно большой, а расширения увеличивают его ещё сильнее. Вот несколько способов поработать с вашим запросом API:


 * На боковой панели найдите функцию, которую хотите реализовать, и перейдите по ссылке, чтобы узнать, какие модули вызывать.
 * самодокументирующиеся страницы API содержат список всех модулей и подмодулей с краткими описаниями. Вы можете начать с главного модуля и перейти по ссылкам к различным подмодулям. (Добавьте, чтобы просмотреть расширенную версию)

Где я могу найти примеры кодов для использования модулей API?
На страницах API-документации есть раздел «Примеры», демонстрирующий, как можно использовать различные модули и подмодули. В автоматически сгенерированных документах также есть примеры, завершающие описания модулей.

См. Mediawiki-API-demos для фрагментов кода на Python и JavaScript.

Как можно контролировать формат вывода?
Формат вывода по умолчанию - JSON. Другие форматы вывода объявлены устаревшими или удалены в последней стабильной версии MediaWiki, и их использование не рекомендуется.

В более старых версиях для управления форматом вывода вы можете передать  в строке запроса.

Для дополнительной информации смотрите API:Форматы данных.

Нужен ли мне токен доступа?
Вам потребуется токен доступа для выполнения действий по изменению данных, таких как вход в систему, редактирование, перемещение страниц и т.д.

Чтобы узнать больше, обратитесь к API: токены или к  категории боковой панели 'Аутентификация'.

Как я могу делать межсайтовые запросы с помощью API?
Вы должны использовать JSONP или CORS для выполнения межсайтовых запросов в MediaWiki.

Подробнее см. API: межсайтовые запросы.

Есть ли ограничение на результаты запроса?
Да, это зависит от параметра запроса. Например, результаты запросов на  и  2 не могут превышать 500 для обычных пользователей. На страницах API информация об этих ограничениях содержится в разделе 'Дополнительные примечания' или 'Ограничения'. Обратите внимание, что некоторые модули налагают более строгие ограничения при определенных условиях.

Если вы не уверены, каков доступный вам предел, и хотите получить максимальное количество результатов за запрос, установите параметр предела как равный.

Есть ли ограничение на вызовы API?
Нет конкретного предела. Тем не менее, мы рекомендуем совершать разумное количество звонков, чтобы вас не заблокировали. Если вы хотите сделать много запросов, заранее свяжитесь с администраторами.

Также см. API: этикет.

Как я могу обновлять MediaWiki Action API?
Вы можете подписаться на список рассылки MediaWiki-API-Announce для получения объявлений и обновлений.

Что такое вики-дампы и как с ними работать?
Дампы данных Викимедиа представляют собой дампы коллекций вики, контента, метаданных, поисковых индексов и т.д. Для работы с дампами см. использование дампов и [публичных дампов https://dumps.wikimedia.org/].

Где я могу получить дополнительную помощь?
Если вы не можете найти ответы на страницах Документация MediaWiki API или автоматически сгенерированной документации, не стесняйтесь обращаться к нам следующими способами.


 * Создайте учётную запись Викимедиа (если у вас её ещё нет) и добавьте новую тему на страницу обсуждения API.
 * Задайте свой вопрос:
 * IRC в канале в сети Freenode.
 * Список рассылки MediaWiki-API.

How can I create an API module in an extension?
API:Extensions will walk you through the complete process of creating an API module in an extension.

What is the internal structure of the API?
API:Implementation Strategy explains the implementation of the API machinery in MediaWiki Core.

How can I restrict the API usage?
To restrict the API usage, you can either restrict the use of write API or disable individual modules.

For instructions and examples, see API:Restricting API usage.

How can I allow/restrict users from modifying the wiki content using the API?
In MediaWiki 1.14, users are allowed to modify the wiki content by default. To restrict, you have to set  in.

In MediaWiki 1.13 or earlier, you have to enable the write API with  to allow content modification.

For more information, see API:Changing wiki content.

How do I detect an error?
If you encounter an error, the error response from the API will set the  HTTP header and return an error structure.

What does this error mean?
Find your error in the list of standard error messages to understand what the error means.

How do I file a bug/feature requests?
You can report bugs and file feature requests on Wikimedia's task tracking tool, Phabricator.

Note: Understand the task creation terms on Phabricator before proceeding.
 * 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.

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.