从MediaWiki API获取许可证信息?

时间:2015-08-05 09:47:56

标签: mediawiki-api imagesource 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 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

正如已经回答的那样,extmetadata API扩展提供了许可证信息。结果格式有点冗长,有些字段用不同的拼写重复,所以我创建了PHP包装器image-attribution

$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"
}