API:RecentChanges/cs
![]() | Tato stránka je součástí dokumentace k API Action MediaWiki. |
Verze MediaWiki: | ≥ 1.9 |
Požadavek GET pro seznam všech posledních změn na wiki, stejným způsobem jako je uvádí Special:RecentChanges.
Dokumentace API
![]() | Následující dokumentace je výstupem Special: |
list=recentchanges (rc)
- This module requires read rights.
- This module can be used as a generator.
- Source: MediaWiki
- License: GPL-2.0-or-later
Enumerate recent changes.
- rcstart
The timestamp to start enumerating from.
- Type: timestamp (allowed formats)
- rcend
The timestamp to end enumerating.
- Type: timestamp (allowed formats)
- rcdir
In which direction to enumerate:
- newer
- List oldest first. Note: rcstart has to be before rcend.
- older
- List newest first (default). Note: rcstart has to be later than rcend.
- One of the following values: newer, older
- Default: older
- rcnamespace
Filter changes to only these namespaces.
- Values (separate with | or alternative): -1, -2, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 90, 91, 92, 93, 100, 101, 102, 103, 104, 105, 106, 107, 710, 711, 828, 829, 1198, 1199, 2600, 5500, 5501
- To specify all values, use *.
- rcuser
Only list changes by this user.
- Type: user, by any of username, IP, Temporary user, interwiki name (e.g. "prefix>ExampleName") and user ID (e.g. "#12345")
- rcexcludeuser
Don't list changes by this user.
- Type: user, by any of username, IP, Temporary user, interwiki name (e.g. "prefix>ExampleName") and user ID (e.g. "#12345")
- rctag
Only list changes tagged with this tag.
- rcprop
Include additional pieces of information:
- user
- Adds the user responsible for the edit and tags if they are an IP. If the user has been revision deleted, a userhidden property will be returned.
- userid
- Adds the user ID responsible for the edit. If the user has been revision deleted, a userhidden property will be returned.
- comment
- Adds the comment for the edit. If the comment has been revision deleted, a commenthidden property will be returned.
- parsedcomment
- Adds the parsed comment for the edit. If the comment has been revision deleted, a commenthidden property will be returned.
- flags
- Adds flags for the edit.
- timestamp
- Adds timestamp of the edit.
- title
- Adds the page title of the edit.
- ids
- Adds the page ID, recent changes ID and the new and old revision ID.
- sizes
- Adds the new and old page length in bytes.
- redirect
- Tags edit if page is a redirect.
- patrolled
- Tags patrollable edits as being patrolled or unpatrolled.
- loginfo
- Adds log information (log ID, log type, etc) to log entries.
- tags
- Lists tags for the entry.
- sha1
- Adds the content checksum for entries associated with a revision. If the content has been revision deleted, a sha1hidden property will be returned.
- Values (separate with | or alternative): comment, flags, ids, loginfo, parsedcomment, patrolled, redirect, sha1, sizes, tags, timestamp, title, user, userid
- Default: title|timestamp|ids
- rcshow
Show only items that meet these criteria. For example, to see only minor edits done by logged-in users, set rcshow=minor|!anon.
- Values (separate with | or alternative): !anon, !autopatrolled, !bot, !minor, !patrolled, !redirect, anon, autopatrolled, bot, minor, patrolled, redirect, unpatrolled
- rclimit
How many total changes to return.
- Type: integer or max
- The value must be between 1 and 500.
- Default: 10
- rctype
Which types of changes to show.
- Values (separate with | or alternative): categorize, edit, external, log, new
- Default: edit|new|log|categorize
- rctoponly
Only list changes which are the latest revision.
- Type: boolean (details)
- rctitle
Filter entries to those related to a page.
- rccontinue
When more results are available, use this to continue. More detailed information on how to continue queries can be found on mediawiki.org.
- rcgeneraterevisions
When being used as a generator, generate revision IDs rather than titles. Recent change entries without associated revision IDs (e.g. most log entries) will generate nothing.
- Type: boolean (details)
- rcslot
Only list changes that touch the named slot.
- One of the following values: main
- List recent changes.
- api.php?action=query&list=recentchanges [open in sandbox]
- Get page info about recent unpatrolled changes.
- api.php?action=query&generator=recentchanges&grcshow=!patrolled&prop=info [open in sandbox]
Example
GET request
Response
{
"batchcomplete": "",
"continue": {
"rccontinue": "20180330090522|1041353210",
"continue": "-||"
},
"query": {
"recentchanges": [
{
"type": "edit",
"ns": 0,
"title": "Histology",
"pageid": 13570,
"revid": 833218500,
"old_revid": 833218201,
"rcid": 1041353213,
"user": "Iztwoz",
"oldlen": 25718,
"newlen": 25749
}
...
]
}
}
Sample code
Python
#!/usr/bin/python3
"""
get_recent_changes.py
MediaWiki API Demos
Demo of `RecentChanges` module: Get the three most recent changes with
sizes and flags
MIT License
"""
import requests
S = requests.Session()
URL = "https://en.wikipedia.org/w/api.php"
PARAMS = {
"format": "json",
"rcprop": "title|ids|sizes|flags|user",
"list": "recentchanges",
"action": "query",
"rclimit": "3"
}
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
RECENTCHANGES = DATA['query']['recentchanges']
for rc in RECENTCHANGES:
print(str(rc['title']))
PHP
<?php
/*
get_recent_changes.php
MediaWiki API Demos
Demo of `RecentChanges` module: Get the three most recent changes with sizes and flags
MIT License
*/
$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
"action" => "query",
"list" => "recentchanges",
"rcprop" => "title|ids|sizes|flags|user",
"rclimit" => "3",
"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 );
foreach( $result["query"]["recentchanges"] as $rc ){
echo( $rc["title"] . "\n" );
}
JavaScript
/*
get_recent_changes.js
MediaWiki API Demos
Demo of `RecentChanges` module: Get the three most recent changes with sizes and flags
MIT License
*/
var url = "https://en.wikipedia.org/w/api.php";
var params = {
action: "query",
list: "recentchanges",
rcprop: "title|ids|sizes|flags|user",
rclimit: "3",
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) {
var recentchanges = response.query.recentchanges;
for (var rc in recentchanges) {
console.log(recentchanges[rc].title);
}
})
.catch(function(error){console.log(error);});
MediaWiki JS
/*
get_recent_changes.js
MediaWiki API Demos
Demo of `RecentChanges` module: Get the three most recent changes with sizes and flags
MIT License
*/
var params = {
action: 'query',
list: 'recentchanges',
rcprop: 'title|ids|sizes|flags|user',
rclimit: '3',
format: 'json'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
var recentchanges = data.query.recentchanges,
rc;
for ( rc in recentchanges ) {
console.log( recentchanges[ rc ].title );
}
} );
Possible errors
Code | Info |
---|---|
rcshow | Incorrect parameter - mutually exclusive values may not be supplied. |
rcpermissiondenied | You need the patrol or patrolmarks right to request the patrolled flag. |
Parameter history
- v1.24: Deprecated
rctoken
- v1.15: Removed
rctitles
- v1.14: Introduced
rctitles
- v1.13: Introduced
loginfo
Additional notes
- Many log actions can be viewed using this module excluding patrol actions as they are not present in the recentchanges table.
- The timestamp to start listing from may not be more than $wgRCMaxAge into the past, which on Wikimedia wikis is 30 days.
- New changes may be inserted to the
recentchanges
table slightly out of order with respect to their timestamp. Thus, when requesting the most recent changes twice in a row, the second response may contain new changes inserted a few seconds before the most recent one in the first response. If you repeatedly call this module to get a stream a recent change, consider adding some overlap between requests to not miss any changes. - This module can be used as a generator.
- This module is implemented by ApiQueryRecentChanges.php .