واجهة برمجة التطبيقات:التصنيفات
Appearance
| هذه الصفحة جزء من توثيق واجهة برمجة تطبيقات ميدياويكي التي تحمل اسم Action. |
| إصدار ميدياويكي: | ≥ 1.11 |
إنه طلب GET من أجل عرض التصنيفات المرتبطة بصفحة ما أو مجموعة من الصفحات.
يمكن استخدام هذه الوحدة البرمجية بصفة مولّد.
توثيق واجهة برمجة التطبيقات
مثال
طلب GET
طلب GET يعرض التصنيفات على صفحة ما.
النتيجة
{
"continue": {
"clcontinue": "13828397|Afrofuturists",
"continue": "||"
},
"query": {
"pages": {
"13828397": {
"pageid": 13828397,
"ns": 0,
"title": "Janelle Mon\u00e1e",
"categories": [
{
"ns": 14,
"title": "Category:1985 births"
},
{
"ns": 14,
"title": "Category:21st-century American actresses"
},
{
"ns": 14,
"title": "Category:21st-century American singers"
},
...
]
}
}
}
}
عينة من الكود البرمجي
Python
#!/usr/bin/python3
"""
get_categories.py
MediaWiki API Demos
Demo of `Categories` module: Get categories associated with a page.
MIT License
"""
import requests
S = requests.Session()
URL = "https://en.wikipedia.org/w/api.php"
PARAMS = {
"action": "query",
"format": "json",
"prop": "categories",
"titles": "Janelle Monáe"
}
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
PAGES = DATA["query"]["pages"]
for k, v in PAGES.items():
for cat in v['categories']:
print(cat["title"])
PHP
<?php
/*
get_categories.php
MediaWiki API Demos
Demo of `Categories` module: Get categories associated with a page.
MIT License
*/
$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
"action" => "query",
"format" => "json",
"prop" => "categories",
"titles" => "Janelle Monáe"
];
$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["categories"] as $k => $v ) {
echo( $v["title"] . "\n" );
}
}
JavaScript
/*
get_categories.js
MediaWiki API Demos
Demo of `Categories` module: Get categories associated with a page.
MIT License
*/
var url = "https://en.wikipedia.org/w/api.php";
var params = {
action: "query",
format: "json",
prop: "categories",
titles: "Janelle Monáe"
};
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 p in pages) {
for (var cat of pages[p].categories) {
console.log(cat.title);
}
}
})
.catch(function(error){console.log(error);});
MediaWiki JS
/*
get_categories.js
MediaWiki API Demos
Demo of `Categories` module: Get categories associated with a page.
MIT License
*/
var params = {
action: 'query',
format: 'json',
prop: 'categories',
titles: 'Janelle Monáe'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
var pages = data.query.pages,
p;
for ( p in pages ) {
pages[ p ].categories.forEach( function ( cat ) {
console.log( cat.title );
} );
}
} );
الأخطاء المحتملة
| الكود | معلومات |
|---|---|
| clshow | وسيط غير صحيحة; قد لا يتم تقديم قيم خاصة متبادلة. |
تاريخ المتغيرات
- v1.20: إضافة
cldir - v1.16: إضافة
clprop=hidden - v1.15: إضافة
clcategories - v1.14: إضافة
clshow - v1.13: إضافة
clcontinue,cllimit,clprop=timestamp
انظر أيضا
- واجهة برمجة التطبيقات:Categorymembers - يسرد الصفحات التي تنتمي لعضوية تصنيف بعينه.
- واجهة برمجة التطبيقات:Allpages - يسرد كل الصفحات التي تستوفي معيار محدد؛ يمكنه أيضًا الوصول إلى نطاق الاسم الخاص بالتصنيفات.
- واجهة برمجة التطبيقات:Allcategories - وحدة
listبرمجية تجمّع التصنيفات من كافة أرجاء موقع الويكي، استنادًا إلى معايير محددة متعلقة بعنوان التصنيف.