API:Alldeletedrevisions/fr
Appearance
Cette page fait partie de la documentation de l'API MediaWiki Action. |
Version de MediaWiki : | ≥ 1.25 |
Requête GET qui fournit toutes les révisions supprimées par un utilisateur dans un espace de noms donné.
Documentation de l'API
Exemple
Requête GET
Fournit une liste des révisions supprimées dans l'espace de noms principal.
Réponse
{
"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
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();
Erreurs possibles
Code | Information |
---|---|
adrdiffto | adrdiffto doit être initialisé avec un nombre positif ou nul, prev, next ou cur |
adrnosuchrevid | Il n'y a pas de révision ayant pour ID ID |
adrnosuchsection | Il n'y a pas de section section dans rID |
adrpermissiondenied | Vous n’avez pas la permission de visualiser les commentaires supprimés. |
adrpermissiondenied | Vous n’avez pas la permission de visualiser le contenu des révisions supprimées. |
adrbadparams | Le paramètre adrfrom/adrto/adrprefix/adrexcludeuser ne peut pas être utilisé avec adruser |
adrbadparams | La paramètre adrstart/adrend ne peut être utilisé qu'avec adruser |
Notes supplémentaires
- Ce module peut être utilisé en tant que générateur.
Voir aussi
- API:Recentchanges - Liste les modifications récentes.
- API:Deletedrevisions - Liste les révisions supprimées d'une page.