واجهة برمجة التطبيقات:صور
Appearance
| هذه الصفحة جزء من توثيق واجهة برمجة تطبيقات ميدياويكي التي تحمل اسم Action. |
| إصدار ميدياويكي: | ≥ 1.11 |
طلب GET يسرد قائمة بملفات الوسائط المدمجة في صفحات محددة.
يمكن استخدام هذه الوحدة البرمجية بصفة مولّد.
توثيق واجهة برمجة التطبيقات
مثال
طلب GET
في الاستعلام التالي، نستدعي واجهة برمجة التطبيقات ونطلب منها قائمة بملفات الصور المدمجة في صفحة على ويكيبيديا الإنكليزية تتناول Albert Einstein.
النتيجة
{
"continue": {
"imcontinue": "736|Albert_Einstein_signature_1934.svg",
"continue": "||"
},
"query": {
"pages": {
"736": {
"pageid": 736,
"ns": 0,
"title": "Albert Einstein",
"images": [
{
"ns": 6,
"title": "File:1919 eclipse positive.jpg"
},
{
"ns": 6,
"title": "File:Albert Einstein's exam of maturity grades (color2).jpg"
},
{
"ns": 6,
"title": "File:Albert Einstein (Nobel).png"
},
...
]
}
}
}
}
عينة من الكود البرمجي
Python
#!/usr/bin/python3
"""
get_page_images.py
MediaWiki API Demos
Demo of `Images` module: Send a GET request to obtain a JSON
object listing all of the image files embedded on a single page
MIT License
"""
import requests
S = requests.Session()
URL = "https://en.wikipedia.org/w/api.php"
PARAMS = {
"action": "query",
"format": "json",
"titles": "Albert Einstein",
"prop": "images"
}
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
PAGES = DATA['query']['pages']
for k, v in PAGES.items():
for img in v['images']:
print(img["title"])
PHP
<?php
/*
get_page_images.php
MediaWiki API Demos
Demo of `Images` module: Send a GET request to obtain a JSON
object listing all of the image files embedded on a single page
MIT License
*/
$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
"action" => "query",
"prop" => "images",
"titles" => "Albert Einstein",
"format" => "json"
];
$url = $endPoint . "?" . http_build_query( $params );
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$output = curl_exec( $ch );
curl_close( $ch );
$result = json_decode( $output, true );
foreach( $result["query"]["pages"] as $k => $v ) {
foreach( $v["images"] as $k => $v ) {
echo( $v["title"] . "\n" );
}
}
JavaScript
/*
get_page_images.js
MediaWiki API Demos
Demo of `Images` module: Send a GET request to obtain a JSON
object listing all of the image files embedded on a single page
MIT License
*/
var url = "https://en.wikipedia.org/w/api.php";
var params = {
action: "query",
prop: "images",
titles: "Albert Einstein",
format: "json"
};
url = url + "?origin=*";
Object.keys(params).forEach(function(key){url += "&" + key + "=" + params[key];});
fetch(url)
.then(function(response){return response.json();})
.then(function(response) {
var pages = response.query.pages;
for (var page in pages) {
for (var img of pages[page].images) {
console.log(img.title);
}
}
})
.catch(function(error){console.log(error);});
MediaWiki JS
/*
get_page_images.js
MediaWiki API Demos
Demo of `Images` module: Send a GET request to obtain a JSON
object listing all of the image files embedded on a single page
MIT License
*/
var params = {
action: 'query',
prop: 'images',
titles: 'Albert Einstein',
format: 'json'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
var pages = data.query.pages,
page;
for ( page in pages ) {
pages[ page ].images.forEach( function ( img ) {
console.log( img.title );
} );
}
} );
تطبيق أو تطبيقات توضيحية
تاريخ المتغيرات
- v1.13: إضافة
imcontinue,imlimit - v1.18: إضافة
imimages - v1.19: إضافة
imdir
انظر أيضا
- واجهة برمجة التطبيقات:معلومات_صورة - يحصل على معلومات عن أية عناوين في نطاق الاسم المخصص للصور. سوف يحل محله شيء آخر في وقت قريب ألا وهو
prop=fileinfo. - API:Stashimageinfo - يحصل على معلومات عن الصور أو الملفات في نطاق الاسم. الناتج مطابق لناتج واجهة برمجة التطبيقات:معلومات_صورة.
- واجهة برمجة التطبيقات:Imageusage - يبحث عن كافة الصفحات التي تستخدم الصورة المحددة أو الصور المعينة.
- واجهة برمجة التطبيقات:Duplicatefiles - يسرد قائمة بأي مكررات من صور محددة أو ملفات معينة.
- واجهة برمجة التطبيقات:Allimages - يسرد قائمة بكافة الصور، حسب العنوان أو الختم الزمني.