واجهة برمجة التطبيقات:Allrevisions
هذه الصفحة جزء من توثيق واجهة برمجة تطبيقات ميدياويكي التي تحمل اسم Action. |
إصدار ميدياويكي: | ≥ 1.27 |
طلب GET الغرض منه سرد كافة المراجعات التي أجراها مستخدم محدد أو في نطاق اسم معين.
توثيق واجهة برمجة التطبيقات
مثال
طلب GET
الحصول على قائمة بكافة المراجعات التي أجراها المستخدم Place holder على موقع ويكيبيديا الإنكليزية.
api.php? action=query& list=allrevisions& arvuser=Place%20holder& arvprop=ids|flags|timestamp [جربها في ApiSandbox]
النتيجة
{
"batchcomplete": "",
"query": {
"allrevisions": [
{
"pageid": 36757881,
"revisions": [
{
"revid": 679803046,
"parentid": 656413943,
"timestamp": "2015-09-06T21:35:42Z"
},
{
"revid": 159361827,
"parentid": 0,
"timestamp": "2007-09-21T10:35:22Z"
}
],
"ns": 3,
"title": "User talk:Place holder"
}
...
]
}
}
عينة من الكود البرمجي
Python
#This file is auto-generated. See modules.json and autogenerator.py for details
#!/usr/bin/python3
"""
get_allrevisions.py
MediaWiki API Demos
Demo of `Allrevisions` module: get revision data of multiple pages and users
MIT License
"""
import requests
S = requests.Session()
URL = "https://en.wikipedia.org/w/api.php"
PARAMS = {
"action": "query",
"arvprop": "ids|flags|timestamp",
"arvuser": "Place holder",
"list": "allrevisions",
"format": "json"
}
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
ALLREVISIONS = DATA["query"]["allrevisions"]
for rev in ALLREVISIONS:
print(rev)
PHP
<?php
//This file is autogenerated. See modules.json and autogenerator.py for details
/*
get_allrevisions.php
MediaWiki API Demos
Demo of `Allrevisions` module: get revision data of multiple pages and users
MIT License
*/
$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
"action" => "query",
"format" => "json",
"list" => "allrevisions",
"arvprop" => "ids|flags|timestamp",
"arvuser" => "Place holder"
];
$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"]["allrevisions"] as $k => $v ) {
foreach( $v["revisions"] as $k => $v ) {
var_dump( $v );
}
}
JavaScript
//This file is autogenerated. See modules.json and autogenerator.py for details
/*
get_allrevisions.js
MediaWiki API Demos
Demo of `Allrevisions` module: get revision data of multiple pages and users
MIT License
*/
var url = "https://en.wikipedia.org/w/api.php";
var params = {
action: "query",
format: "json",
list: "allrevisions",
arvprop: "ids|flags|timestamp",
arvuser: "Place holder"
};
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 revs = response.query.allrevisions;
for (var r in revs) {
console.log(revs[r]);
}
})
.catch(function(error){console.log(error);});
MediaWiki JS
// This file is autogenerated. See modules.json and autogenerator.py for details
/*
get_allrevisions.js
MediaWiki API Demos
Demo of `Allrevisions` module: get revision data of multiple pages and users
MIT License
*/
var params = {
action: 'query',
format: 'json',
list: 'allrevisions',
arvprop: 'ids|flags|timestamp',
arvuser: 'Place holder'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
var revs = data.query.allrevisions,
r;
for ( r in revs ) {
console.log( revs[ r ] );
}
} );
رسائل الخطأ المحتملة
- لا يمكنك إجراء مقارنة مع r######: المحتوى مخفي.
- تهمل لو كانت المراجعة جرى إخفائها (مثل استخدام RevisionDelete أو Oversight).
- prop=parsetree مدعوم لمحتوى نص الويكي فقط، يستخدم title نموذج المحتوى content model.
- تهمل لو كانت الخاصية
parsetree
أو المعاملgeneratexml
مستخدمين وكان نموذج المحتوى (حسب ما هو مبين في الخاصيةcontent
) غير مضبوط على القيمةwikitext
- تهمل لو كانت الخاصية
- توسيع القالب مدعوم لمحتوى نص الويكي فقط، يستخدم title نموذج المحتوى content model.
- تهمل حينما يكون المعامل
expandtemplates
مستخدمًا وكان نموذج المحتوى (حسب ما هو في الخاصيةcontent
) غير مضبوط على القيمةwikitext
- تهمل حينما يكون المعامل
- التنسيق المطلوب contentFormat غير مدعوم لنموذج المحتوى model المستخدم بواسطة name.
- تهمل حينما يكون محتوى المراجعة الحالية أو تلك التي يجري المقارنة معها غير مدعومة (بوجه عام، ليست نصًا).
الأخطاء المحتملة
الكود | معلومات |
---|---|
arvdiffto | يجب تعيين arvdiffto على عدد غير سالب، prev, next أو cur. |
arvnosuchrevid | لا توجد مراجعة بالمعرف ID. |
arvnosuchsection | لا يوجد قسم section في ID. |
تاريخ المتغيرات
- v1.26:
arvgeneratexml
متقادم - v1.27: إضافة
arvdifftotextpst
- v1.30:
parsetree
,arvparse
,arvexpandtemplates
,arvdiffto
,arvdifftotext
,arvdifftotextpst
متقادم
انظر أيضا
- API:Revisions - الحصول على معلومات مراجعات صفحة ما أو أكثر من صفحة.
- واجهة برمجة التطبيقات:حذف_مراجعة - إلغاء المراجعات أو التراجع عن إلغائها.