API:Usercontribs
MediaWiki Action API |
---|
Basics |
Authentication |
Accounts and Users |
Page Operations |
|
Search |
Developer Utilities |
Tutorials |
v · d · e |
GET request to list a user's contributions.
API documentation
[edit ]list=usercontribs (uc)
- This module requires read rights.
- Source: MediaWiki
- License: GPL-2.0-or-later
Get all edits by a user.
- uclimit
The maximum number of contributions to return.
- Type: integer or max
- The value must be between 1 and 500.
- Default: 10
- ucstart
The start timestamp to return from, i.e. revisions before this timestamp.
- Type: timestamp (allowed formats)
- ucend
The end timestamp to return to, i.e. revisions after this timestamp.
- Type: timestamp (allowed formats)
- uccontinue
When more results are available, use this to continue. More detailed information on how to continue queries can be found on mediawiki.org.
- ucuser
The users to retrieve contributions for. Cannot be used with ucuserids, ucuserprefix, or uciprange.
- Type: list of users, by any of username, IP, Temporary user and interwiki name (e.g. "prefix>ExampleName")
- Separate values with | or alternative.
- Maximum number of values is 50 (500 for clients that are allowed higher limits).
- ucuserids
The user IDs to retrieve contributions for. Cannot be used with ucuser, ucuserprefix, or uciprange.
- Type: list of integers
- Separate values with | or alternative.
- Maximum number of values is 50 (500 for clients that are allowed higher limits).
- ucuserprefix
Retrieve contributions for all users whose names begin with this value. Cannot be used with ucuser, ucuserids, or uciprange.
- uciprange
The CIDR range to retrieve contributions for. Cannot be used with ucuser, ucuserprefix, or ucuserids.
- ucdir
In which direction to enumerate:
- newer
- List oldest first. Note: ucstart has to be before ucend.
- older
- List newest first (default). Note: ucstart has to be later than ucend.
- One of the following values: newer, older
- Default: older
- ucnamespace
Only list contributions in these namespaces.
- Values (separate with | or alternative): 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 *.
- ucprop
Include additional pieces of information:
- ids
- Adds the page ID and revision ID.
- title
- Adds the title and namespace ID of the page.
- timestamp
- Adds the timestamp of the edit.
- comment
- Adds the comment of the edit. If the comment has been revision deleted, a commenthidden property will be returned.
- parsedcomment
- Adds the parsed comment of the edit. If the comment has been revision deleted, a commenthidden property will be returned.
- size
- Adds the new size of the edit.
- sizediff
- Adds the size delta of the edit against its parent.
- flags
- Adds flags of the edit.
- patrolled
- Tags patrolled edits.
- tags
- Lists tags for the edit.
- Values (separate with | or alternative): comment, flags, ids, parsedcomment, patrolled, size, sizediff, tags, timestamp, title
- Default: ids|title|timestamp|comment|size|flags
- ucshow
Show only items that meet these criteria, e.g. non minor edits only: ucshow=!minor.
If ucshow=patrolled or ucshow=!patrolled is set, revisions older than $wgRCMaxAge (2592000 seconds) won't be shown.
- Values (separate with | or alternative): !autopatrolled, !minor, !new, !patrolled, !top, autopatrolled, minor, new, patrolled, top
- uctag
Only list revisions tagged with this tag.
- uctoponly
- Deprecated.
Only list changes which are the latest revision.
- Type: boolean (details)
- Show contributions of user Example.
- api.php?action=query&list=usercontribs&ucuser=Example [open in sandbox]
- Show contributions from all IP addresses with prefix 192.0.2..
- api.php?action=query&list=usercontribs&ucuserprefix=192.0.2. [open in sandbox]
Example
[edit ]GET request
[edit ]Response
[edit ]{ "batchcomplete":"", "continue":{ "uccontinue":"20190130180447|880978627", "continue":"-||" }, "query":{ "usercontribs":[ { "userid":24, "user":"Jimbo Wales", "pageid":9870625, "revid":881893498, "parentid":881892978, "ns":3, "title":"User talk:Jimbo Wales", "timestamp":"2019年02月05日T14:05:11Z", "comment":"/* Fancy I edit Wikipedia T-Shirt */", "size":29753 }, { "userid":24, "user":"Jimbo Wales", "pageid":9870625, "revid":881282261, "parentid":881270759, "ns":3, "title":"User talk:Jimbo Wales", "timestamp":"2019年02月01日T15:29:31Z", "comment":"/* Macedonian President Gorge Ivanov is now in the House arrest */", "size":60166 }, { "userid":24, "user":"Jimbo Wales", "pageid":9513191, "revid":881245934, "parentid":881240310, "ns":1, "title":"Talk:Mark Dice", "timestamp":"2019年02月01日T09:48:38Z", "comment":"/* So good they names it twice */", "size":74128 }, ... ] } }
Sample code
[edit ]Python
[edit ]#!/usr/bin/python3 """ get_usercontribs.py MediaWiki API Demos Demo of `Usercontribs` module: List user contributions. MIT License """ importrequests S = requests.Session() URL = "https://en.wikipedia.org/w/api.php" PARAMS = { "action": "query", "format": "json", "list": "usercontribs", "ucuser": "Jimbo Wales" } R = S.get(url=URL, params=PARAMS) DATA = R.json() USERCONTRIBS = DATA["query"]["usercontribs"] for uc in USERCONTRIBS: print(uc["title"])
PHP
[edit ]<?php //This file is autogenerated. See modules.json and autogenerator.py for details /* get_usercontribs.php MediaWiki API Demos Demo of `Usercontribs` module: List user contributions. MIT License */ $endPoint = "https://en.wikipedia.org/w/api.php"; $params = [ "action" => "query", "format" => "json", "list" => "usercontribs", "ucuser" => "Jimbo Wales" ]; $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"]["usercontribs"] as $k => $v ) { echo( $v["title"] . "\n" ); }
JavaScript
[edit ]/* get_usercontribs.js MediaWiki API Demos Demo of `Usercontribs` module: List user contributions. MIT License */ varurl="https://en.wikipedia.org/w/api.php"; varparams={ action:"query", format:"json", list:"usercontribs", ucuser:"Jimbo Wales" }; url=url+"?origin=*"; Object.keys(params).forEach(function(key){url+="&"+key+"="+params[key];}); fetch(url) .then(function(response){returnresponse.json();}) .then(function(response){ varusercontrib=response.query.usercontribs; for(varucinusercontrib){ console.log(usercontrib[uc].title); } }) .catch(function(error){console.log(error);});
MediaWiki JS
[edit ]/* get_usercontribs.js MediaWiki API Demos Demo of `Usercontribs` module: List user contributions. MIT License */ varparams={ action:'query', format:'json', list:'usercontribs', ucuser:'Jimbo Wales' }, api=newmw.Api(); api.get(params).done(function(data){ varusercontrib=data.query.usercontribs, uc; for(ucinusercontrib){ console.log(usercontrib[uc].title); } });
Possible errors
[edit ]Code | Info |
---|---|
invaliduserid | User ID username is not valid. |
paramempty_ucuser | The parameter user may not be empty. |
baduser_ucuser | Invalid value "username" for user parameter user. |
show | Incorrect parameter - mutually exclusive values may not be supplied. |
permissiondenied | You need the patrol or patrolmarks right to request the patrolled flag.
|
Parameter history
[edit ]- v1.39: Introduced
uciprange
- v1.29: Introduced
ucuserids
- v1.23: Deprecated
uctoponly
- v1.23: Introduced
ucshow=top
,ucshow=!top
,ucshow=new
,ucshow=!new
- v1.20: Introduced
ucprop=sizediff
- v1.18: Introduced
uctoponly
- v1.16: Introduced
ucprop=parsedcomment
,ucprop=size
,ucprop=tags
,uctag
- v1.15: Introduced
ucprop=patrolled
,ucshow=patrolled
,ucshow=!patrolled
- v1.14: Introduced
uccontinue
- v1.13: Introduced
ucuserprefix
- v1.11: Introduced
ucnamespace
,ucprop
,ucshow
Additional notes
[edit ]- The module returns page edits and moves, but not other operations, such as uploads.
- Prior to MediaWiki v1.14, the
start
parameter was used to view additional results within the response. Between v1.14 and v1.22,start
was used to continue when listing a single user's contributions;continue
was used when listing contributions from multiple users. From v1.23 forwards, all queries usecontinue
.
See also
[edit ]- API:Logevents - shows many kinds of user activity, including uploads