Как использовать песочницу MediaWiki API: различия между версиями

Материал из Поле цифровой дидактики
 
(не показано 7 промежуточных версий этого же участника)
Строка 4: Строка 4:
|FieldActivity=Computational Thinker, Цифровой Трансформатор
|FieldActivity=Computational Thinker, Цифровой Трансформатор
|Возрастная категория=17
|Возрастная категория=17
|similar_concepts=API, Scratch API, MediaWiki API
|similar_concepts=API, Scratch API, MediaWiki API, Как использовать Scratch API
|Environment=Semantic MediaWiki
|Environment=Semantic MediaWiki
}}
}}
; См. [[Песочница MediaWiki]] - на данной вики [[Служебная:ApiSandbox]]
; См. [[Песочница MediaWiki API]] - на данной вики [[Служебная:ApiSandbox]]


=== Определяем запрос (query) ===
=== Определяем запрос (query) ===
Строка 37: Строка 37:
[[Файл:Api titles result.png|400px]]
[[Файл:Api titles result.png|400px]]


; [[Как представить JSON из API в виде диаграммы PlantUML]]
* [[Файл:MW Scratch JSON.png]]


=== Запросы через Ask ==
; Сходный запрос:
: http://digida.mgpu.ru/api.php?action=query&format=json&list=allcategories&titles=Scratch%7CSnap!%7CStarLogo%20Nova%7CApp%20Inventor&generator=revisions&utf8=1
 
=== Запросы через Ask ===
* action = ask
* action = ask
* в формате - указываем, что нужен utf8
* в формате - указываем, что нужен utf8
* в запросе указываем, что хотим все статьи из определённой категории  
* в запросе указываем, что хотим все статьи из определённой категории  


==== Получить все статьи из категории DEG ====
; Получаем ссылку:
; Получаем ссылку:
: http://digida.mgpu.ru/api.php?action=ask&format=json&query=%5B%5B%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F%3ADataset%5D%5D&utf8=1
: http://digida.mgpu.ru/api.php?action=ask&format=json&query=%5B%5B%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F%3ADataset%5D%5D&utf8=1
: http://digida.mgpu.ru/api.php?action=ask&format=json&query=%5B%5BCategory%3ADataset%5D%5D&utf8=1
: http://digida.mgpu.ru/api.php?action=ask&format=json&query=%5B%5BCategory%3ADataset%5D%5D&utf8=1
==== Получить все статьи из категории [[:Категория:АДЭУ-201]] ====
; Получаем ссылку со всеми участниками
: http://digida.mgpu.ru/api.php?action=ask&format=json&query=%5B%5B%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F%3A%D0%90%D0%94%D0%AD%D0%A3-201%5D%5D&utf8=1
==== Query ====
http://digida.mgpu.ru/api.php?action=query&format=json&prop=linkshere&continue=%7C%7C&generator=allpages&utf8=1&lhcontinue=Scratch%7C126&gapfrom=Scratch&gapcontinue=&gapto=Snap!&gapdir=ascending
=== action=feedcontributions ===
; Пример с данными одного участника в пространстве обсуждений участника
: http://digida.mgpu.ru/api.php?action=feedcontributions&format=json&feedformat=rss&user=Patarakin&namespace=3&year=3&hideminor=1&showsizediff=1
=== action=smwinfo ===
* http://digida.mgpu.ru/api.php?action=smwinfo&format=json&info=usedpropcount%7Cpropcount%7Cproppagecount%7Cquerycount&utf8=1

Текущая версия на 20:33, 7 ноября 2023

Описание Современные MediaWiki площадки поддерживают не только собственный API, но и инструмент для формирования запросов к нему. В этой статье рассказываются приёмы формирования таких запросов. Обратите внимание, что правила общие для всех площадок - Служебная:ApiSandbox
Область знаний NetSci, Информатика
Область использования (ISTE) Computational Thinker, Цифровой Трансформатор
Возрастная категория 17


Поясняющее видео
Близкие рецепту понятия API, Scratch API, MediaWiki API, Как использовать Scratch API
Среды и средства для приготовления рецепта: Semantic MediaWiki
См. Песочница MediaWiki API - на данной вики Служебная:ApiSandbox

Определяем запрос (query)

Важно, что процесс подбора параметров идет последовательно - мы сначала выбираем action =

Media wiki api 01.png

После определения запроса выбираем параметры

action=query
Запросить данные с и о MediaWiki.

px

И после этого выбираем в полях нужные нам параметры.

Примеры запросов к медиавики

http://digida.mgpu.ru/api.php?action=query&format=json&titles=Snap!
http://digida.mgpu.ru/api.php?action=query&format=json&titles=Snap!%7CScratch%20%7CStarLogo%20Nova

Запрос на страницы (titles)

Api titles.png

Results
{"batchcomplete":"","query":{"normalized":[{"from":"Scratch ","to":"Scratch"}],"pages":{"214":{"pageid":214,"ns":0,"title":"Scratch"},"219":{"pageid":219,"ns":0,"title":"Snap!"},"243":{"pageid":243,"ns":0,"title":"StarLogo Nova"}}}}

Api titles result.png

Как представить JSON из API в виде диаграммы PlantUML
  • MW Scratch JSON.png
Сходный запрос
http://digida.mgpu.ru/api.php?action=query&format=json&list=allcategories&titles=Scratch%7CSnap!%7CStarLogo%20Nova%7CApp%20Inventor&generator=revisions&utf8=1

Запросы через Ask

  • action = ask
  • в формате - указываем, что нужен utf8
  • в запросе указываем, что хотим все статьи из определённой категории

Получить все статьи из категории DEG

Получаем ссылку
http://digida.mgpu.ru/api.php?action=ask&format=json&query=%5B%5B%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F%3ADataset%5D%5D&utf8=1
http://digida.mgpu.ru/api.php?action=ask&format=json&query=%5B%5BCategory%3ADataset%5D%5D&utf8=1

Получить все статьи из категории Категория:АДЭУ-201

Получаем ссылку со всеми участниками
http://digida.mgpu.ru/api.php?action=ask&format=json&query=%5B%5B%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F%3A%D0%90%D0%94%D0%AD%D0%A3-201%5D%5D&utf8=1


Query

http://digida.mgpu.ru/api.php?action=query&format=json&prop=linkshere&continue=%7C%7C&generator=allpages&utf8=1&lhcontinue=Scratch%7C126&gapfrom=Scratch&gapcontinue=&gapto=Snap!&gapdir=ascending

action=feedcontributions

Пример с данными одного участника в пространстве обсуждений участника
http://digida.mgpu.ru/api.php?action=feedcontributions&format=json&feedformat=rss&user=Patarakin&namespace=3&year=3&hideminor=1&showsizediff=1

action=smwinfo