API:FAQ

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page API:FAQ and the translation is 87% complete.
Outdated translations are marked like this.
Other languages:
Afrikaans • ‎Bahasa Indonesia • ‎Boarisch • ‎Deutsch • ‎Deutsch (Sie-Form) • ‎English • ‎Ido • ‎Limburgs • ‎Nederlands • ‎Tiếng Việt • ‎Türkçe • ‎bosanski • ‎català • ‎dansk • ‎español • ‎français • ‎hrvatski • ‎italiano • ‎kurdî • ‎occitan • ‎polski • ‎português • ‎português do Brasil • ‎sicilianu • ‎suomi • ‎svenska • ‎čeština • ‎беларуская • ‎беларуская (тарашкевіца) • ‎български • ‎русский • ‎українська • ‎עברית • ‎العربية • ‎فارسی • ‎کوردی • ‎हिन्दी • ‎অসমীয়া • ‎ಕನ್ನಡ • ‎ไทย • ‎မြန်မာဘာသာ • ‎中文 • ‎日本語 • ‎粵語 • ‎ꯃꯤꯇꯩ ꯂꯣꯟ • ‎한국어

Обзор

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

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

Об 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 — or just a REST API — adheres to these principles and hence is a faster, more reliable and scalable service.

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

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

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

Несколько источников:

Основное

Что такое 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=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 информация об этих ограничениях содержится в разделе 'Дополнительные примечания' или 'Ограничения'. Обратите внимание, что некоторые модули налагают более строгие ограничения при определенных условиях. 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 в расширении?

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

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

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

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

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

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

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

В MediaWiki 1.14 пользователям по умолчанию разрешено изменять содержимое вики. Чтобы ограничить, вы должны установить $wgEnableWriteAPI = false; в LocalSettings.php .

В MediaWiki 1.13 или более ранней версии вы должны включить API записи с помощью $wgEnableWriteAPI = true;, чтобы разрешить изменение содержимого.

Для получения дополнительной информации см. API: изменение содержимого вики.

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

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

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

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

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

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

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

Примечание:

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.