API:Query/uk

Модуль  дозволяє отримувати інформацію про вікі та дані, що зберігаються в ній, наприклад, вікітекст певної сторінки, посилання та категорії набору сторінок або маркер, необхідний для.

Модулі запитів
Модуль запиту (query module) має три типи підмодулів (їх також називають модулями запитів):


 * про вікі та зареєстрованого користувача.
 * сторінок, включаючи версії та вміст сторінок.
 * сторінок, які відповідають певним критеріям.

Приклад 1: Вказання ​​сторінок
На відміну від модулів запитів метаінформації та списку, усі модулі запитів властивостей працюють на наборі сторінок, які можна вказати одним із таких способів:


 * За назвою, використовуючи параметр, наприклад.
 * За ідентифікатором сторінки з використанням параметра, напр..
 * За ідентифікатором версії за допомогою параметра, напр.  . Більшість модулів запитів перетворюють ідентифікатор версії у відповідний ідентифікатор сторінки. Тільки  насправді використовує сам ідентифікатор версії.
 * Використовуючи генератор.

Приклад 2: Нормалізація назви
Нормалізація перетворює назви сторінок у їхню канонічну форму.

Це означає використання великих літер першим символом, заміну підкреслень пробілами та зміну простору назв на локалізовану форму, визначену для цієї вікі.

Приклад 3: Відсутні та недопустимі назви
Назви, які не існують або є недійсними, матимуть у відповіді атрибут  або.

У вихідних форматах, які підтримують числові ключі масивів, відсутні та недійсні заголовки матимуть від’ємні ідентифікатори сторінок.

Приклад 4: Запити з продовженням
Коли не всі дані повертаються у відповідь на запит, з'явиться атрибут, який вказує на те, що даних є більше.

Щоб отримати додаткові дані, додайте його значення до початкового запиту.

Приклад 5: Завершення пакету
API повертає елемент, щоб вказати, що повернуто всі дані для поточної порції елементів.

У відповідь на приклад запиту нижче було включено, щоб вказати, що всі дані для кожного з трьох зображень були повернуті.

Наступне продовження почне повертати дані для наступного набору з трьох зображень.

Приклад 6: Генератори
Використовуйте генератори, якщо хочете отримати дані про набір сторінок.

Наприклад, щоб отримати дані про сторінки в певній категорії, замість того, щоб запитувати, а потім знову робити запит із  , встановленим для всіх повернених сторінок, об'єднайте два виклики API в один, використовуючи.

Використовуючи модуль списку як генератор, вам не треба вказувати сторінки.

Однак для модуля властивостей вам треба вказати сторінки, над якими буде працювати генератор.

Наприклад, щоб завантажити всі сторінки, на які є посилання з головної сторінки, використовуйте.

Параметри, передані генератору, повинні мати префікс. Наприклад, при використанні, використовуйте  замість.

Приклад запиту нижче отримує посилання та категорії для перших трьох сторінок у головному просторі назв, починаючи з «Ba».

Історія параметра

 * v1.21: Уведено
 * v1.24: Уведено  (зауважте, що необроблене продовження було поведінкою за замовчуванням до v1.26)

Додаткові примітки

 * Вказання ​​назв з допомогою  або   обмежено 50 назвами на запит, або 500 для тих, хто має право на.
 * Використовуйте кілька модулів запитів разом, щоб отримати те, що вам потрібно в одному запиті, наприклад.
 * Generators always pass page titles to the query module. Unlike lists (which may include additional data by default), generators should not output any information themselves, unless when explicitly requested via the generator module's query parameters.

Вирішення перенаправлень
Перенаправлення можна вирішити автоматично, так, що ціль перенаправлення повертається замість заданої назви. Якщо перенаправлення є, вони завжди будуть містити атрибути  і   і можуть містити атрибут   для тих перенаправлень, які вказують на конкретні розділи.

Може мати місце як нормалізація, так і перенаправлення. У разі кількох перенаправлень всі перенаправлення будуть вирішені, а у випадку кругового перенаправлення в розділі 'pages' (сторінки) може не бути сторінки (див. також нижче). Дозвіл перенаправлення не можна використовувати в поєднанні з параметром  або з генератором, що генерує ідентифікатори версій (revids); виконавши це, ви отримаєте попередження і не вирішите перенаправлення для зазначених revids.

У наведених нижче прикладах показано, як працює параметр.

Див. також

 * - Короткий посібник для початку.
 * - Містить інформацію про те, як використовувати параметр.