API:सभी हटाए गए संस्करण
यह पृष्ठ मीडियाविकि प्रतिक्रिया API प्रलेख का हिस्सा है। |
मीडियाविकि संस्करण: | ≥ 1.25 |
किसी सदस्य द्वारा, या किसी नामस्थान में, सभी हटाए गए अवतरणों को सूचीबद्ध करने के लिए GET अनुरोध।
API प्रलेख
उदाहरण
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 ID वाला कोई अवतरण नहीं है |
adrnosuchsection | rID में कोई अनुभाग अनुभाग नहीं है |
adrpermissiondenied | You don't have permission to view deleted comments. |
adrpermissiondenied | You don't have permission to view content of deleted revisions. |
adrbadparams | adrfrom/adrto/adrprefix/adrexcludeuser पैरामीटरों का इस्तेमाल adruser के साथ नहीं किया जा सकता |
adrbadparams | adrstart/adrend पैरामीटरों का इस्तेमाल सिर्फ adruser के साथ ही किया जाता है |
अतिरिक्त टिप्पणियाँ
- इस मोडल का इस्तेमाल सृष्टिकार के रूप में किया जा सकता है।
ये भी देखें
- API:Recentchanges - हाल में हुए बदलावों को सूचीबद्ध करें।
- API:Deletedrevisions - किसी पृष्ठ के हटाए गए संस्करणों को सूचीबद्ध करें।