API:Usercontribs/zh

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page API:Usercontribs and the translation is 72% complete.

Other languages:
English • ‎dansk • ‎español • ‎polski • ‎русский • ‎中文 • ‎日本語
MediaWiki版本: 1.9

GET request to list a user's contributions.

API文档


list=usercontribs (uc)

(main | query | usercontribs)

Get all edits by a user.

Parameters:
uclimit

The maximum number of contributions to return.

No more than 500 (5,000 for bots) allowed.
Type: integer or max
Default: 10
ucstart

The start timestamp to return from.

Type: timestamp (allowed formats)
ucend

The end timestamp to return to.

Type: timestamp (allowed formats)
uccontinue

When more results are available, use this to continue.

ucuser

The users to retrieve contributions for. Cannot be used with ucuserids or ucuserprefix.

Type: list of user names
Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
ucuserids

The user IDs to retrieve contributions for. Cannot be used with ucuser or ucuserprefix.

Type: list of integers
Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
ucuserprefix

Retrieve contributions for all users whose names begin with this value. Cannot be used with ucuser 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, 486, 487, 828, 829, 1198, 1199, 2300, 2301, 2302, 2303, 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.
parsedcomment
Adds the parsed comment of the edit.
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): ids, title, timestamp, comment, parsedcomment, size, sizediff, flags, patrolled, tags
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): minor, !minor, patrolled, !patrolled, autopatrolled, !autopatrolled, top, !top, new, !new
uctag

Only list revisions tagged with this tag.

uctoponly
Deprecated.

Only list changes which are the latest revision.

Type: boolean (details)
Examples:
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]

例子

GET请求

List contributions by User:Jimbo Wales

回应

{
    "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-05T14: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-01T15: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-01T09:48:38Z",
                "comment": "/* So good they names it twice */",
                "size": 74128
            },
            ...
        ]
    }
}

示例代码

Python

#!/usr/bin/python3

"""
    get_usercontribs.py

    MediaWiki API Demos
    Demo of `Usercontribs` module: List user contributions.

    MIT License
"""

import requests

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

<?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

/*
    get_usercontribs.js

    MediaWiki API Demos
    Demo of `Usercontribs` module: List user contributions.

    MIT License
*/

var url = "https://en.wikipedia.org/w/api.php"; 

var params = {
    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){return response.json();})
    .then(function(response) {
        var usercontrib = response.query.usercontribs;
        for (var uc in usercontrib) {
            console.log(usercontrib[uc].title);
        }
    })
    .catch(function(error){console.log(error);});

MediaWiki JS

/*
	get_usercontribs.js

	MediaWiki API Demos
	Demo of `Usercontribs` module: List user contributions.

	MIT License
*/

var params = {
		action: 'query',
		format: 'json',
		list: 'usercontribs',
		ucuser: 'Jimbo Wales'
	},
	api = new mw.Api();

api.get( params ).done( function ( data ) {
	var usercontrib = data.query.usercontribs,
		uc;
	for ( uc in usercontrib ) {
		console.log( usercontrib[ uc ].title );
	}
} );

可能的错误

代码 信息
invaliduserid 用户IDusername无效。
paramempty_ucuser 参数user不能为空。
baduser_ucuser 用于用户参数user的值“username”无效。
show 不正确的参数——不可提供互斥值。
permissiondenied 您需要patrolpatrolmarks权限来请求巡查标记。

参数历史

  • v1.29: 啟用ucuserids
  • v1.23: 棄用uctoponly
  • v1.23: 啟用ucshow=top, ucshow=!top, ucshow=new, ucshow=!new
  • v1.20: 啟用ucprop=sizediff
  • v1.18: 啟用uctoponly
  • v1.16: 啟用ucprop=parsedcomment, ucprop=size, ucprop=tags, uctag
  • v1.15: 啟用ucprop=patrolled, ucshow=patrolled, ucshow=!patrolled
  • v1.14: 啟用uccontinue
  • v1.13: 啟用ucuserprefix
  • v1.11: 啟用ucnamespace, ucprop, ucshow

附加提醒

  • 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 use continue.

参见