واجهة برمجة التطبيقات:Alldeletedrevisions
Appearance
هذه الصفحة جزء من توثيق واجهة برمجة تطبيقات ميدياويكي التي تحمل اسم Action. |
إصدار ميدياويكي: | ≥ 1.25 |
طلب GET الغرض منه سرد كافة المراجعات التي حذفها مستخدم محدد أو في نطاق اسم معين.
توثيق واجهة برمجة التطبيقات
مثال
طلب GET
الحصول على قائمة بالمراجعات المحذوفة في نطاق الاسم الرئيسي.
النتيجة
{
"query": {
"alldeletedrevisions": [
{
"pageid": 0,
"revisions": [
{
"user": "Mahesh",
"comment": "Test for my all deleted revisions",
"contentformat": "text/x-wiki",
"contentmodel": "wikitext",
"content": "Page for alldeletedrevisions"
}
],
"ns": 0,
"title": "ADR Page"
}
]
}
}
عينة من الكود البرمجي
Python
#!/usr/bin/python3
"""
get_all_deleted_revisions.py
MediaWiki API Demos
Demo of `alldeletedrevisions` module: List all deleted revisions from a User.
MIT License
"""
import requests
S = requests.Session()
URL = "https://en.wikipedia.org/w/api.php"
# Step1: Retrieve login token
PARAMS_0 = {
'action':"query",
'meta':"tokens",
'type':"login",
'format':"json"
}
R = S.get(url=URL, params=PARAMS_0)
DATA = R.json()
LOGIN_TOKEN = DATA['query']['tokens']['logintoken']
# Step2: Send a post request to login. Use of main account for login is not
# supported. Obtain credentials via Special:BotPasswords
# (https://www.mediawiki.org/wiki/Special:BotPasswords) for lgname & lgpassword
PARAMS_1 = {
'action':"login",
'lgname':"your_bot_username",
'lgpassword':"your_bot_password",
'lgtoken':LOGIN_TOKEN,
'format':"json"
}
R = S.post(URL, data=PARAMS_1)
# Step 3: Send a get request to get all the deleted revisions
PARAMS_2 = {
"action": "query",
"list": "alldeletedrevisions",
"adruser": "Mahesh",
"adrprop": "ids|user|comment",
"format": "json"
}
R = S.get(url=URL, params=PARAMS_2)
DATA = R.json()
PAGES = DATA['query']['alldeletedrevisions']
for p in PAGES:
print("Revision for Page " + p["title"])
for adrev in p["revisions"]:
print(adrev)
PHP
<?php
/*
get_all_deleted_revisions.php
MediaWiki API Demos
Demo of `alldeletedrevisions` module: List all the deleted revisions from a user.
MIT License
*/
$endPoint ="https://en.wikipedia.org/w/api.php"
$login_Token = getLoginToken(); // Step 1
loginRequest( $login_Token ); // Step 2
all_deleted_revisions(); // Step 3
// Step 1: GET request to fetch login token
function getLoginToken() {
global $endPoint;
$params1 = [
"action" => "query",
"meta" => "tokens",
"type" => "login",
"format" => "json"
];
$url = $endPoint . "?" . http_build_query( $params1 );
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_COOKIEJAR, "cookie.txt" );
curl_setopt( $ch, CURLOPT_COOKIEFILE, "cookie.txt" );
$output = curl_exec( $ch );
curl_close( $ch );
$result = json_decode( $output, true );
return $result["query"]["tokens"]["logintoken"];
}
// Step 2: POST request to log in. Use of main account for login is not
// supported. Obtain credentials via Special:BotPasswords
// (https://www.mediawiki.org/wiki/Special:BotPasswords) for lgname & lgpassword
function loginRequest( $logintoken ) {
global $endPoint;
$params2 = [
"action" => "login",
"lgname" => "bot_user_name",
"lgpassword" => "bot_password",
"lgtoken" => $logintoken,
"format" => "json"
];
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $endPoint );
curl_setopt( $ch, CURLOPT_POST, true );
curl_setopt( $ch, CURLOPT_POSTFIELDS, http_build_query( $params2 ) );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_COOKIEJAR, "cookie.txt" );
curl_setopt( $ch, CURLOPT_COOKIEFILE, "cookie.txt" );
$output = curl_exec( $ch );
curl_close( $ch );
}
// Step 3: GET request to get all the deleted revisions
function all_deleted_revisions() {
global $endPoint;
$params3 = [
"action" => "query",
"list" => "alldeletedrevisions",
"adruser" => "mahesh",
"adrprop" => "ids|user|comment",
"format" => "json"
];
$url = $endPoint . "?" . http_build_query( $params3 );
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_COOKIEJAR, "cookie.txt" );
curl_setopt( $ch, CURLOPT_COOKIEFILE, "cookie.txt" );
$output = curl_exec( $ch );
curl_close( $ch );
$result = json_decode( $output, true );
foreach( $result["query"]["alldeletedrevisions"] as $page ){
echo( "Revision for page " . $page["title"] . "\n" );
foreach( $page["revisions"] as $adrev ){
var_dump( $adrev );
}
}
}
JavaScript
/*
get_all_deleted_revisions.js
MediaWiki API Demos
Demo of `alldeletedrevisions` module: List all the deleted revisions from a User.
MIT License
*/
var request = require('request').defaults({jar: true}),
url = "https://en.wikipedia.org/w/api.php";
// Step 1: GET request to fetch login token
function getLoginToken() {
var params_0 = {
action: "query",
meta: "tokens",
type: "login",
format: "json"
};
request.get({ url: url, qs: params_0 }, function (error, res, body) {
if (error) {
return;
}
var data = JSON.parse(body);
loginRequest(data.query.tokens.logintoken);
});
}
// Step 2: POST request to log in.
// Use of main account for login is not
// supported. Obtain credentials via Special:BotPasswords
// (https://www.mediawiki.org/wiki/Special:BotPasswords) for lgname & lgpassword
function loginRequest(login_token) {
var params_1 = {
action: "login",
lgname: "bot_username",
lgpassword: "bot_password",
lgtoken: login_token,
format: "json"
};
request.post({ url: url, form: params_1 }, function (error, res, body) {
if (error) {
return;
}
all_deleted_revisions();
});
}
// Step 3: GET request to get the deleted revisions
function all_deleted_revisions() {
var params_2 = {
action: "query",
list: "alldeletedrevisions",
adruser: "Mahesh",
adrprop: "ids|user|comment",
format: "json"
};
request.get({ url: url, qs: params_2 }, function(error, res, body) {
if (error) {
return;
}
var data = JSON.parse(body);
var pages = data.query.alldeletedrevisions;
for (var p in pages) {
console.log("Revision for Page " + pages[p].title);
for (var adrev in pages[p].revisions) {
console.log(pages[p].revisions[adrev]);
}
}
});
}
// Start From Step 1
getLoginToken();
الأخطاء المحتملة
الكود | معلومات |
---|---|
adrdiffto | يتعين أن تكون adrdiffto مضبوطة لعدد غير سالب، أو أي من «prev» أو «next» أو «cur» |
adrnosuchrevid | لا توجد مراجعة تحمل المعرف ID |
adrnosuchsection | لا توجد فقرة section في ID المراجعة |
adrpermissiondenied | ليس لديك صلاحية لعرض التعليقات المحذوفة. |
adrpermissiondenied | ليس لديك صلاحية لعرض محتوى المراجعات المحذوفة. |
adrbadparams | لا يمكن استخدام أي من المتغيرات adrfrom أو adrto أو adrprefix أو adrexcludeuser مع المتغير adruser |
adrbadparams | يجوز استخدام المتغير adrstart أو adrend فقط مع المتغير adruser |
ملاحظات إضافية
- يمكن استخدام هذه الوحدة البرمجية بصفة مولّد.
انظر أيضا
- API:Recentchanges - قائمة بأحدث التغييرات.
- واجهة برمجة التطبيقات:مراجعات_محذوفة - قائمة بالمراجعات التي حذفت من صفحة ما.