API:Query/uk

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

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


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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 * Вказання ​​назв з допомогою  або   обмежено 50 назвами на запит, або 500 для тих, хто має право на.
 * Використовуйте кілька модулів запитів разом, щоб отримати те, що вам потрібно в одному запиті, наприклад.
 * Генератори лише передають назви сторінок модулю запиту і самі не видають ніякої інформації. Таким чином, встановлення таких параметрів, як , не матиме ефекту.

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

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

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

Див. також

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