API:Alldeletedrevisions: Difference between revisions
Appearance
Content deleted Content added
No edit summary |
Use API documentation frame from the template |
||
(35 intermediate revisions by 13 users not shown) | |||
Line 1: | Line 1: | ||
<languages /> |
|||
Updated as per phab:T232816 API documentation improvements |
|||
{{API}} |
{{API}} |
||
{{MW 1. |
{{MW 1.25|and after}} |
||
<translate> |
|||
<!--T:1--> |
<!--T:1--> |
||
'''GET request''' to list all deleted revisions by a user or in a namespace. |
'''GET request''' to list all deleted revisions by a user or in a namespace. |
||
== API documentation == <!--T:2--> |
== API documentation == <!--T:2--> |
||
</translate> |
|||
⚫ | |||
<translate> |
|||
{| style="color: black; background-color: #f8f8f8; border-spacing: 20px; border: 1px solid darkgray;" |
|||
⚫ | |||
⚫ | |||
⚫ | |||
== |
=== GET request === <!--T:4--> |
||
</translate> |
|||
{{ApiEx |
|||
|desc=<translate><!--T:5--> Get a list of deleted revisions in the main namespace.</translate> |
|||
|p1=action=query |
|||
|p2=list=alldeletedrevisions |
|||
|p3=adrprop=user{{!}}comment{{!}}content |
|||
⚫ | |||
<translate> |
|||
=== |
=== Response === <!--T:6--> |
||
</translate> |
|||
{{ApiEx|desc=<!--T:5--> Get a list of deleted revisions in Main space.|p1=action=query|p2=list=alldeletedrevisions|p3=adrprop=user{{!}}comment{{!}}content}} |
|||
=== Response ===<!--T:6--> |
|||
<div style="width:60%;"> |
<div style="width:60%;"> |
||
<syntaxhighlight lang="json"> |
<syntaxhighlight lang="json"> |
||
Line 44: | Line 50: | ||
</div> |
</div> |
||
<translate> |
|||
=== Sample code === <!--T:7--> |
=== Sample code === <!--T:7--> |
||
</translate> |
|||
<!-- Transclude Sample code --> |
<!-- Transclude Sample code --> |
||
{{/ |
{{:{{translatable}}/sample code 1}} |
||
<translate> |
|||
== Possible errors == |
== Possible errors == <!--T:8--> |
||
</translate> |
|||
{| class="wikitable sortable" |
{| class="wikitable sortable" |
||
!<translate><!--T:9--> Code</translate> |
|||
!Code |
|||
!<translate><!--T:10--> Info</translate> |
|||
!Info |
|||
|- |
|- |
||
|adrdiffto |
|adrdiffto |
||
|adrdiffto must be set to a non-negative number, "prev", "next" or "cur" |
|<translate><!--T:16--> adrdiffto must be set to a non-negative number, "prev", "next" or "cur"</translate> |
||
|- |
|- |
||
|adrnosuchrevid |
|adrnosuchrevid |
||
|There is no revision with ID '''ID''' |
|<translate><!--T:17--> There is no revision with ID '''ID'''</translate> |
||
|- |
|- |
||
|adrnosuchsection |
|adrnosuchsection |
||
|There is no section '''section''' in r'''ID''' |
|<translate><!--T:18--> There is no section '''section''' in r'''ID'''</translate> |
||
|- |
|- |
||
|adrpermissiondenied |
|adrpermissiondenied |
||
|{{int|apierror-cantview-deleted-comment}} |
|||
|You don't have permission to view deleted revision information |
|||
|- |
|- |
||
|adrpermissiondenied |
|adrpermissiondenied |
||
| |
|{{int|apierror-cantview-deleted-revision-content}} |
||
|- |
|- |
||
|adrbadparams |
|adrbadparams |
||
|The adrfrom/adrto/adrprefix/adrexcludeuser parameter cannot be used with adruser |
|<translate><!--T:21--> The adrfrom/adrto/adrprefix/adrexcludeuser parameter cannot be used with adruser</translate> |
||
|- |
|- |
||
|adrbadparams |
|adrbadparams |
||
|The adrstart/adrend parameter may only be used with adruser |
|<translate><!--T:22--> The adrstart/adrend parameter may only be used with adruser</translate> |
||
|} |
|} |
||
<translate> |
<translate> |
||
== Additional notes == <!--T: |
== Additional notes == <!--T:11--> |
||
<!--T: |
<!--T:12--> |
||
* This module can be used as a <tvar|1> |
* This module can be used as a [[<tvar|1>Special:MyLanguage/API:generator</>|generator]]. |
||
⚫ | |||
</translate> |
</translate> |
||
⚫ | |||
⚫ | |||
* {{ll|API:Deletedrevisions}} - <translate><!--T:15--> List revisions which have been deleted from a page.</translate> |
|||
⚫ | |||
[[Category:MediaWiki API query lists{{#translation:}}]] |
[[Category:MediaWiki API query lists{{#translation:}}]] |
Latest revision as of 17:39, 29 August 2024
This page is part of the MediaWiki Action API documentation. |
MediaWiki version: | ≥ 1.25 |
GET request to list all deleted revisions by a user or in a namespace.
API documentation
[edit]
Example
[edit]GET request
[edit]Get a list of deleted revisions in the main namespace.
Response
[edit]{
"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"
}
]
}
}
Sample code
[edit]Python
[edit]#!/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
[edit]<?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
[edit]/*
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();
Possible errors
[edit]Code | Info |
---|---|
adrdiffto | adrdiffto must be set to a non-negative number, "prev", "next" or "cur" |
adrnosuchrevid | There is no revision with ID ID |
adrnosuchsection | There is no section section in rID |
adrpermissiondenied | You don't have permission to view deleted comments. |
adrpermissiondenied | You don't have permission to view content of deleted revisions. |
adrbadparams | The adrfrom/adrto/adrprefix/adrexcludeuser parameter cannot be used with adruser |
adrbadparams | The adrstart/adrend parameter may only be used with adruser |
Additional notes
[edit]- This module can be used as a generator.
See also
[edit]- API:Recentchanges - List recent changes.
- API:Deletedrevisions - List revisions which have been deleted from a page.