واجهة برمجة التطبيقات:Allcategories
Appearance
| هذه الصفحة جزء من توثيق واجهة برمجة تطبيقات ميدياويكي التي تحمل اسم Action. |
| إصدار ميدياويكي: | ≥ 1.12 |
طلب GET الغرض منه سرد كافة التصنيفات التي ينطبق عليها معايير محددة تتعلق بعناوينها.
يمكن استخدام هذه الوحدة البرمجية بصفة مولّد.
توثيق واجهة برمجة التطبيقات
مثال
طلب GET
الحصول على قائمة بكافة التصنيفات التي تبدأ بالعبارة «15th-century caliphs».
api.php? action=query& format=json& acfrom=15th-century%20caliphs& list=allcategories [جربها في ApiSandbox]
النتيجة
{
{
"batchcomplete": "",
"continue": {
"accontinue": "15th-century_churches_in_Denmark",
"continue": "-||"
},
"query": {
"allcategories": [
{
"*": "15th-century caliphs"
},
{
"*": "15th-century calligraphers"
},
{
"*": "15th-century card games"
},
...
]
}
}
عينة من الكود البرمجي
Python
#!/usr/bin/python3
"""
get_allcategories.py
MediaWiki API Demos
Demo of `Allcategories` module: Get all categories, starting from a
certain point, as ordered by category title.
MIT License
"""
import requests
S = requests.Session()
URL = "https://en.wikipedia.org/w/api.php"
PARAMS = {
"action": "query",
"format": "json",
"list": "allcategories",
"acfrom": "15th-century caliphs"
}
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
CATEGORIES = DATA["query"]["allcategories"]
for cat in CATEGORIES:
print(cat["*"])
PHP
<?php
/*
get_allcategories.php
MediaWiki API Demos
Demo of `Allcategories` module: Get all categories, starting from a certian point, as ordered by category title.
MIT License
*/
$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
"action" => "query",
"format" => "json",
"list" => "allcategories",
"acfrom" => "15th-century caliphs"
];
$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"]["allcategories"] as $k => $v ) {
echo( $v["*"] . "\n" );
}
JavaScript
/*
get_allcategories.js
MediaWiki API Demos
Demo of `Allcategories` module: Get all categories, starting from a certain point, as ordered by category title.
MIT License
*/
var url = "https://en.wikipedia.org/w/api.php";
var params = {
action: "query",
format: "json",
list: "allcategories",
acfrom: "15th-century caliphs"
};
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 categories = response.query.allcategories;
for (var cat in categories) {
console.log(categories[cat]["*"]);
}
})
.catch(function(error){console.log(error);});
MediaWiki JS
/*
get_allcategories.js
MediaWiki API Demos
Demo of `Allcategories` module: Get all categories,
starting from a certian point, as ordered by category title.
MIT License
*/
var params = {
action: 'query',
format: 'json',
list: 'allcategories',
acfrom: '15th-century caliphs'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
var categories = data.query.allcategories,
cat;
for ( cat in categories ) {
console.log( categories[ cat ][ '*' ] );
}
} );
ملاحظات إضافية
- تختلف هذه الوحدة البرمجية عن list=allpages&alnamespace=14 من ناحية أن التصنيفات التي لا يوجد لها وصف سوف تضاف تسرد أيضا، بينما لن تسرد صفحات إعادة التوجيه والصفحات التي لم يستخدم فيها التصنيف على الإطلاق.
- ربما تضم النتيجة تصنيفات استخدمت من قبل إلا أنها أزيلت منذ ذلك الحين.
- منذ أن النتيجة قد تشتمل على تصنيفات أزيلت أو فارغة، نحبذ ترشيح القائمة مستخدما
acmin=1، حتى تحصل فقط على تصنيفات تحتوي على عضو واحد أو أكثر من واحد.
انظر أيضا
- واجهة برمجة التطبيقات:Categorymembers – يسرد الصفحات التي تنتمي لعضوية تصنيف بعينه.
- واجهة برمجة التطبيقات:التصنيفات – وحدة برمجية من نوع
propتجمّع كافة التصنيفات المرتبطة بصفحة معينة. - واجهة برمجة التطبيقات:Allpages – وحدة برمجية أخرى يمكنها الوصول إلى نطاق الاسم المخصص للتصنيفات.