Получение информации о лицензии от MediaWiki API?

Я хочу отображать изображения из Wikimedia Commons на моем веб-сайте (в виде ссылок), используя следующий вызов mediawiki-api для поиска изображений:

https://en.wikipedia.org/wiki/Special:ApiSandbox#action=query&list=allimages&format=json&aifrom=LG%20G4&aiprop=dimensions%7Cmime&ailimit=5

Это возвращает результат поиска, содержащий все изображения, которые соответствуют моему запросу. Но в этом ответе я не вижу информации о лицензии. Я могу получить информацию о загрузчике, используя "user" внутри aiprop, но как мне получить информацию о лицензии (например, CC-BY-SA)?

2 ответа

Решение

Как уже было сказано, расширение API extmetadata предоставляет информацию о лицензии. Формат результата немного многословен, и некоторые поля дублируются различными написаниями, поэтому я создал атрибут обертки изображения PHP:

$attribution = commons_image_attribution("Loewe_frontal.JPG");
$credit = $attribution['credit'];

Ответ имеет следующую структуру (здесь дано как JSON):

{
    "src": "https://upload.wikimedia.org/wikipedia/commons/a/ac/Loewe_frontal.JPG",
    "url": "https://commons.wikimedia.org/wiki/File:Loewe_frontal.JPG",
    "description": "Portrait of a young lion (Panthera leo), taken at Tierpark Hellabrunn, Munich.",
    "creator": "Martin Falbisoner",
    "date": "2012-07-14 15:39:06",
    "attribution": true,
    "license": "CC BY-SA 3.0",
    "credit": "CC BY-SA 3.0: Martin Falbisoner"
}
Другие вопросы по тегам