This page is a translated version of the page API:FAQ and the translation is 92% complete.

Обзор

Эта страница предоставляет ответы на некоторые часто задаваемые вопросы о 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. В общих чертах медиавики относится к API на основе веб-интерфейса, которые используют механизм HTTP-запросов-ответов и выдают структурированные данные в формате JSON/XML.

Что такое REST API?

REST - это аббревиатура от Передача состояния представления. Набор руководящих принципов или ограничений определяет RESTful систему. RESTful API — или просто REST API — придерживается этих принципов и, следовательно, является более быстрым, надежным и масштабируемым сервисом.

Что может делать API?

Посмотрите на некоторые примеры использования API.

Где я могу познакомиться с дополнительной информацией о API?

Вот несколько ресурсов:

Основное

Что такое MediaWiki Action API?

MediaWiki Action API это веб сервис REST, который позволяет выполнять такие действия вики как создание страниц, авторизацию, разбор, поиск и т.д.

Для чего можно использовать 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. Модулю требуются параметры. Эти параметры могут быть (а могут и не быть) подмодулями.

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

Здесь:

Также посмотрите Введение и рекомендации. Оно описывает подмодули модуля 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 и property2 не могут превышать 500 для обычных пользователей. На страницах API информация об этих ограничениях содержится в разделе 'Дополнительные примечания' или 'Ограничения'. Обратите внимание, что некоторые модули налагают более строгие ограничения при определенных условиях. На страницах API информация об этих ограничениях содержится в разделе "Дополнительные примечания" или в разделе "Ограничения". Обратите внимание, что некоторые модули при определенных условиях устанавливают более жесткие ограничения.

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

Есть ли ограничение на вызовы API?

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

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

Как я могу обновлять MediaWiki Action API?

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

Что такое вики-дампы и как с ними работать?

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


Где я могу получить дополнительную помощь?

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

Разработчики расширений и владельцы вики

Как я могу создать модуль API в расширении?

API: Расширения проведет вас через полный процесс создания модуля API в расширении.

Какова внутренняя структура API?

API: стратегия реализации объясняет реализацию механизма API в MediaWiki Core.

Как я могу ограничить использование API?

Чтобы ограничить использование API, вы можете либо ограничить использование API записи, либо отключить отдельные модули.

Инструкции и примеры см. в API: Ограничение использования API.

Ошибки и устранение неполадок

Как определить ошибку?

Если вы столкнетесь с ошибкой, ответ об ошибке от API установит HTTP-заголовок MediaWiki-API-Error и вернет структуру ошибки.

Что означает эта ошибка?

Найдите свою ошибку в списке стандартных сообщений об ошибках, чтобы понять, что означает данная ошибка.

Как мне отправить запрос об ошибке / функции?

Вы можете сообщать об ошибках с помощью инструмента отслеживания задач Викимедиа - в Phabricator.

Примечание:

See How to report a bug for more details.

Сталкиваюсь ли я с ошибками из-за версии API?

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.