API:Deletedrevisions/cs
![]() | Tato stránka je součástí dokumentace k API Action MediaWiki. |
Žádost GET pro získání smazaných informací o revizi.
Verze MediaWiki: | ≥ 1.25 |
Dokumentace API
![]() | Následující dokumentace je výstupem Special: |
prop=deletedrevisions (drv)
- This module requires read rights.
- This module can be used as a generator.
- Source: MediaWiki
- License: GPL-2.0-or-later
Get deleted revision information.
May be used in several ways:
- Get deleted revisions for a set of pages, by setting titles or pageids. Ordered by title and timestamp.
- Get data about a set of deleted revisions by setting their IDs with revids. Ordered by revision ID.
- drvprop
Which properties to get for each revision:
- ids
- The ID of the revision.
- flags
- Revision flags (minor).
- timestamp
- The timestamp of the revision.
- user
- User that made the revision. If the user has been revision deleted, a userhidden property will be returned.
- userid
- User ID of the revision creator. If the user has been revision deleted, a userhidden property will be returned.
- size
- Length (bytes) of the revision.
- slotsize
- Length (bytes) of each revision slot.
- sha1
- SHA-1 (base 16) of the revision. If the content has been revision deleted, a sha1hidden property will be returned.
- slotsha1
- SHA-1 (base 16) of each revision slot. If the content has been revision deleted, a sha1hidden property will be returned.
- contentmodel
- Content model ID of each revision slot.
- comment
- Comment by the user for the revision. If the comment has been revision deleted, a commenthidden property will be returned.
- parsedcomment
- Parsed comment by the user for the revision. If the comment has been revision deleted, a commenthidden property will be returned.
- content
- Content of each revision slot. If the content has been revision deleted, a texthidden property will be returned. For performance reasons, if this option is used, drvlimit is enforced to 50.
- tags
- Tags for the revision.
- roles
- List content slot roles that exist in the revision.
- parsetree
- Deprecated. Use action=expandtemplates or action=parse instead. The XML parse tree of revision content (requires content model
wikitext
). For performance reasons, if this option is used, drvlimit is enforced to 50.
- Values (separate with | or alternative): comment, content, contentmodel, flags, ids, parsedcomment, roles, sha1, size, slotsha1, slotsize, tags, timestamp, user, userid, parsetree
- Default: ids|timestamp|flags|comment|user
- drvslots
Which revision slots to return data for, when slot-related properties are included in drvprops. If omitted, data from the main slot will be returned in a backwards-compatible format.
- Values (separate with | or alternative): main
- To specify all values, use *.
- drvcontentformat-{slot}
Content serialization format used for output of content.
- This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of drvslots.
- One of the following values: application/json, application/octet-stream, application/unknown, application/vue+xml, application/x-binary, text/css, text/javascript, text/plain, text/unknown, text/x-wiki, unknown/unknown
- drvlimit
Limit how many revisions will be returned. If drvprop=content, drvprop=parsetree, drvdiffto or drvdifftotext is used, the limit is 50. If drvparse is used, the limit is 1.
- Type: integer or max
- The value must be between 1 and 500.
- drvexpandtemplates
- Deprecated.
Use action=expandtemplates instead. Expand templates in revision content (requires drvprop=content).
- Type: boolean (details)
- drvgeneratexml
- Deprecated.
Use action=expandtemplates or action=parse instead. Generate XML parse tree for revision content (requires drvprop=content).
- Type: boolean (details)
- drvparse
- Deprecated.
Use action=parse instead. Parse revision content (requires drvprop=content). For performance reasons, if this option is used, drvlimit is enforced to 1.
- Type: boolean (details)
- drvsection
Only retrieve the content of the section with this identifier.
- drvdiffto
- Deprecated.
Use action=compare instead. Revision ID to diff each revision to. Use prev, next and cur for the previous, next and current revision respectively. For performance reasons, if this option is used, drvlimit is enforced to 50.
- drvdifftotext
- Deprecated.
Use action=compare instead. Text to diff each revision to. Only diffs a limited number of revisions. Overrides drvdiffto. If drvsection is set, only that section will be diffed against this text. For performance reasons, if this option is used, drvlimit is enforced to 50.
- drvdifftotextpst
- Deprecated.
Use action=compare instead. Perform a pre-save transform on the text before diffing it. Only valid when used with drvdifftotext.
- Type: boolean (details)
- drvcontentformat
- Deprecated.
Serialization format used for drvdifftotext and expected for output of content.
- One of the following values: application/json, application/octet-stream, application/unknown, application/vue+xml, application/x-binary, text/css, text/javascript, text/plain, text/unknown, text/x-wiki, unknown/unknown
- drvstart
The timestamp to start enumerating from. Ignored when processing a list of revision IDs.
- Type: timestamp (allowed formats)
- drvend
The timestamp to stop enumerating at. Ignored when processing a list of revision IDs.
- Type: timestamp (allowed formats)
- drvdir
In which direction to enumerate:
- newer
- List oldest first. Note: drvstart has to be before drvend.
- older
- List newest first (default). Note: drvstart has to be later than drvend.
- One of the following values: newer, older
- Default: older
- drvtag
Only list revisions tagged with this tag.
- drvuser
Only list revisions by this user.
- Type: user, by any of username, IP, Temporary user, interwiki name (e.g. "prefix>ExampleName") and user ID (e.g. "#12345")
- drvexcludeuser
Don't list revisions by this user.
- Type: user, by any of username, IP, Temporary user, interwiki name (e.g. "prefix>ExampleName") and user ID (e.g. "#12345")
- drvcontinue
When more results are available, use this to continue. More detailed information on how to continue queries can be found on mediawiki.org.
- List the information for deleted revision 123456.
- api.php?action=query&prop=deletedrevisions&revids=123456 [open in sandbox]
- List the deleted revisions of the pages MediaWiki and its talk page with content.
- api.php?action=query&prop=deletedrevisions&titles=MediaWiki|Talk%3AMediaWiki&drvslots=*&drvprop=user|comment|content [open in sandbox]
Příklad
Dotazování přes GET
Odpověď
"query": {
"pages": [
{
"ns": 1,
"title": "Talk:Main Page",
"missing": "",
"deletedrevisions": [
{
"user": "192.168.0.193",
"anon": "",
"comment": "I iz in yer wiki, blanking yer talk pages",
"contentformat": "text/x-wiki",
"contentmodel": "wikitext",
"content": ""
},
]
},
]
}
Ukázkový kód
Python
#!/usr/bin/python3
"""
deleted_revisions.py
MediaWiki API Demos
Demo of `Deletedrevisions` module: Get a list of deleted revisions for Talk:Main Page.
MIT License
"""
import requests
S = requests.Session()
URL = "https://test.wikipedia.org/w/api.php"
# Step 1: Retrieve a login token
PARAMS_1 = {
"action": "query",
"meta": "tokens",
"type": "login",
"format": "json"
}
R = S.get(url=URL, params=PARAMS_1)
DATA = R.json()
LOGIN_TOKEN = DATA['query']['tokens']['logintoken']
# Step 2: Send a POST request to log in. For this login
# method, obtain credentials by first visiting
# https://www.test.wikipedia.org/wiki/Manual:Bot_passwords
# See https://www.mediawiki.org/wiki/API:Login for more
# information on log in methods.
PARAMS_2 = {
"action": "login",
"lgname": "user_name",
"lgpassword": "password",
"format": "json",
"lgtoken": LOGIN_TOKEN
}
R = S.post(URL, data=PARAMS_2)
DATA = R.json()
# Step 3: While logged in, send a get reguest to get a list of deleted revisions for Talk:Main Page.
PARAMS = {
"action": "query",
"titles": "Talk:Main_Page",
"prop": "deletedrevisions",
"drvprop": "user|comment|content",
"drvslots": "*",
"format": "json"
}
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
print(DATA)
PHP
<?php
/*
deleted_revisions.php
MediaWiki API Demos
Demo of `Deletedrevisions` module: Get a list of deleted revisions for Talk:Main Page.
MIT License
*/
$endPoint = "https://test.wikipedia.org/w/api.php";
$login_Token = getLoginToken(); // Step 1
loginRequest( $login_Token ); // Step 2
deletedRevisions(); // 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: Send a POST request to log in. For this login method,
// obtain credentials by first visiting https://www.test.wikipedia.org/wiki/Manual:Bot_passwords
// See https://www.mediawiki.org/wiki/API:Login for more information on log in methods.
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: Send a GET request to get a list of deleted revisions for Talk:Main Page.
function deletedRevisions() {
$params = [
"action" => "query",
"titles" => "Talk:Main_Page",
"prop" => "deletedrevisions",
"drvprop" => "user|comment|content",
"drvslots" => "*",
"format" => "json"
];
$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 );
var_dump( $result );
}
JavaScript
/*
deleted_revisions.js
MediaWiki API Demos
Demo of `Deletedrevisions` module: Get a list of deleted revisions for Talk:Main Page.
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;
}
deletedRevisions();
});
}
// Step 3: Get a list of deleted revisions for Talk:Main Page.
function deletedRevisions() {
var params = {
action: "query",
titles: "Talk:Main_Page",
prop: "deletedrevisions",
drvprop: "user|comment|content",
drvslots: "*",
format: "json"
};
url = url + "?origin=*";
Object.keys(params).forEach(function(key){url += "&" + key + "=" + params[key];});
fetch(url)
.then(function(response){return response.json();})
.then(function(response) {console.log(response);})
.catch(function(error){console.log(error);});
}
MediaWiki JS
/*
deleted_revisions.js
MediaWiki API Demos
Demo of `Deletedrevisions` module: Get a list of deleted revisions for Talk:Main Page.
MIT License
*/
var params = {
action: 'query',
titles: 'Talk:Main_Page',
prop: 'deletedrevisions',
drvprop: 'user|comment|content',
drvslots: '*',
format: 'json'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
console.log( data );
} );
Možné chyby
Kód | Popis |
---|---|
drvdiffto | drvdiffto must be set to a non-negative number, prev, next or cur. |
drvnosuchrevid | There is no revision with ID ID. |
drvnosuchsection | V rID není žádná sekce section |
permissiondenied | You don't have permission to view deleted comments. |
drvpermissiondenied | Nemáte oprávnění prohlížet informace o smazané revizi |
adrpermissiondenied | Nemáte oprávnění prohlížet obsah smazané revize |
drvbadparams | Uživatel a vyloučit uživatele nelze použít společně |
Možná varování
Kód | Varování | Popis |
---|---|---|
difftohidden | Couldn't diff to r#####: content is hidden. | Vyvolá se, pokud byla revize skrytá (např. pomocí RevisionDelete nebo Oversight). |
Conversion to XML is supported for wikitext only, title uses content model content model | Vyvolá se, pokud je použita vlastnost parsetree nebo parametr generatexml a model obsahu (vrácený vlastností content ) není nastaven na wikitext | |
templateexpansion-notwikitext | Template expansion is only supported for wikitext content. title uses content model content model. | Vyvolá se, pokud je použit parametr expandtemplates a model obsahu (vrácený vlastností content ) není nastaven na wikitext |
apierror-badformat | The requested format contentFormat is not supported for content model model used by name. | Vyvolá se, když obsah aktuální revize nebo revize, se kterou se porovnává, není podporován (obvykle ne text). |
Historie parametrů
- v1.32: Představeno
slotsize
,slotsha1
,roles
,drvslots
- v1.32: Zastaralé
drvcontentformat
- v1.30: Zastaralé
parsetree
,drvexpandtemplates
,drvparse
,drvdiffto
,drvdifftotext
,drvdifftotextpst
- v1.27: Představeno
drvdifftotextpst
- v1.27: Zastaralé
drvdifftotextpst
- v1.26: Zastaralé
drvgeneratexml
Další poznámky
- Tento modul lze použít jako zdroj .
- Tento modul obsahuje seznam revizí, které byly smazány ze stránky, jak byste viděli v Special:Undelete. Nemělo by se zaměňovat s revizemi, které byly skryty pomocí funkce Odstranit revizi .
Související odkazy
- Příručka:Smazání změn - Zobrazení a skrytí jednotlivých revizí stránek.
- Nápověda:Skrývání změn - Skrytí jednotlivých položek v historii stránky nebo protokolu.
- API:Deletedrevs - Parametry API používané pro výpis smazaných revizí.
- API:Revisiondelete - Smazání a obnovení revizí.