API:所有用户

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

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

Get请求以用户名排序列出所有注册用户的用户名

API文档


list=allusers (au)

(main | query | allusers)

Enumerate all registered users.

Parameters:
aufrom

The user name to start enumerating from.

auto

The user name to stop enumerating at.

auprefix

Search for all users that begin with this value.

audir

Direction to sort in.

One of the following values: ascending, descending
Default: ascending
augroup

Only include users in the given groups.

Values (separate with | or alternative): bot, sysop, interface-admin, bureaucrat, steward, accountcreator, import, transwiki, ipblock-exempt, oversight, autopatrolled, uploader, checkuser, translationadmin, flow-bot, confirmed
auexcludegroup

Exclude users in the given groups.

Values (separate with | or alternative): bot, sysop, interface-admin, bureaucrat, steward, accountcreator, import, transwiki, ipblock-exempt, oversight, autopatrolled, uploader, checkuser, translationadmin, flow-bot, confirmed
aurights

Only include users with the given rights. Does not include rights granted by implicit or auto-promoted groups like *, user, or autoconfirmed.

Values (separate with | or alternative): apihighlimits, applychangetags, autoconfirmed, autocreateaccount, autopatrol, bigdelete, block, blockemail, bot, browsearchive, changetags, createaccount, createpage, createtalk, delete, deletechangetags, deletedhistory, deletedtext, deletelogentry, deleterevision, edit, editcontentmodel, editinterface, editprotected, editmyoptions, editmyprivateinfo, editmyusercss, editmyuserjson, editmyuserjs, editmyuserjsredirect, editmywatchlist, editsemiprotected, editsitecss, editsitejson, editsitejs, editusercss, edituserjson, edituserjs, hideuser, import, importupload, ipblock-exempt, managechangetags, markbotedits, mergehistory, minoredit, move, movefile, move-categorypages, move-rootuserpages, move-subpages, nominornewtalk, noratelimit, override-export-depth, pagelang, patrol, patrolmarks, protect, purge, read, reupload, reupload-own, reupload-shared, rollback, sendemail, siteadmin, suppressionlog, suppressredirect, suppressrevision, unblockself, undelete, unwatchedpages, upload, upload_by_url, userrights, userrights-interwiki, viewmyprivateinfo, viewmywatchlist, viewsuppressed, writeapi, spamblacklistlog, tboverride, tboverride-account, titleblacklistlog, gadgets-edit, gadgets-definition-edit, transcode-reset, transcode-status, urlshortener-manage-url, urlshortener-create-url, globalblock, globalblock-whitelist, globalblock-exempt, securepoll-create-poll, renameuser, nuke, torunblocked, skipcaptcha, override-antispoof, centralauth-merge, centralauth-unmerge, centralauth-lock, centralauth-oversight, globalgrouppermissions, globalgroupmembership, centralauth-rename, centralauth-usermerge, collectionsaveasuserpage, collectionsaveascommunitypage, repoadmin, codereview-use, codereview-add-tag, codereview-remove-tag, codereview-post-comment, codereview-set-status, codereview-signoff, codereview-associate, codereview-link-user, codereview-review-own, abusefilter-modify, abusefilter-log-detail, abusefilter-view, abusefilter-log, abusefilter-privatedetails, abusefilter-privatedetails-log, abusefilter-modify-restricted, abusefilter-revert, abusefilter-view-private, abusefilter-log-private, abusefilter-hidden-log, abusefilter-hide-log, abusefilter-modify-global, lqt-split, lqt-merge, lqt-react, massmessage, translate, translate-import, translate-manage, translate-messagereview, translate-groupreview, vipsscaler-test, flow-hide, flow-lock, flow-delete, flow-suppress, flow-edit-post, flow-create-board, usermerge, mwoauthproposeconsumer, mwoauthupdateownconsumer, mwoauthmanageconsumer, mwoauthsuppress, mwoauthviewsuppressed, mwoauthviewprivate, mwoauthmanagemygrants, oathauth-enable, oathauth-api-all, oathauth-disable-for-user, oathauth-view-log, newsletter-create, newsletter-delete, newsletter-manage, newsletter-restore, checkuser, checkuser-log, autoreviewrestore, stablesettings, review, unreviewedpages, movestable, validate, templateeditor, editeditorprotected, editextendedsemiprotected, extendedconfirmed, autoreviewprotected, viewdeletedfile, pagetranslation
Maximum number of values is 50 (500 for bots).
auprop

Which pieces of information to include:

blockinfo
Adds the information about a current block on the user.
groups
Lists groups that the user is in. This uses more server resources and may return fewer results than the limit.
implicitgroups
Lists all the groups the user is automatically in.
rights
Lists rights that the user has.
editcount
Adds the edit count of the user.
registration
Adds the timestamp of when the user registered if available (may be blank).
centralids
Adds the central IDs and attachment status for the user.
Values (separate with | or alternative): blockinfo, groups, implicitgroups, rights, editcount, registration, centralids
aulimit

How many total user names to return.

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

Only list users who have made edits.

Type: boolean (details)
auactiveusers

Only list users active in the last 30 days.

Type: boolean (details)
auattachedwiki

With auprop=centralids, also indicate whether the user is attached with the wiki identified by this ID.

示例

GET请求

GET request to list all users, starting from those whose name begins with the string, "Drov"

响应

{
    "batchcomplete": "",
    "continue": {
        "aufrom": "Drovark",
        "continue": "-||"
    },
    "query": {
        "allusers": [
            {
                "userid": 13239275,
                "name": "Drov"
            },
            {
                "userid": 7080866,
                "name": "Drova"
            },
            {
                "userid": 16013473,
                "name": "Drova 82"
            },
            ...
        ]
    }
}

示例代码

Python

#!/usr/bin/python3

"""
    get_allusers.py

    MediaWiki API Demos
    Demo of `Allusers` module: Get all users, starting from those whose name
    begins with the string, 'Drov'.

    MIT License
"""

import requests

S = requests.Session()

URL = "https://en.wikipedia.org/w/api.php"

PARAMS = {
    "action": "query",
    "format": "json",
    "list": "allusers",
    "auprefix": "Drov"
}

R = S.get(url=URL, params=PARAMS)
DATA = R.json()

USERS = DATA["query"]["allusers"]

for user in USERS:
    print(user["name"])

PHP

<?php
/*
    get_allusers.php

    MediaWiki API Demos
    Demo of `Allusers` module: Get all users, starting from those whose name begins with the string, 'Drov'.

    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "format" => "json",
    "list" => "allusers",
    "auprefix" => "Drov"
];

$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"]["allusers"] as $k => $v ) {
    echo( $v["name"] . "\n" );
}

Javascript

/*
    get_allusers.js

    MediaWiki API Demos
    Demo of `Allusers` module: Get all users, starting from those whose name begins with the string, 'Drov'.

    MIT License
*/

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

var params = {
    action: "query",
    format: "json",
    list: "allusers",
    auprefix: "Drov"
};

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 users = response.query.allusers;
        for (var u in users) {
            console.log(users[u].name);
        }
    })
    .catch(function(error){console.log(error);});

MediaWiki JS

/*
	get_allusers.js

	MediaWiki API Demos
	Demo of `Allusers` module: Get all users, starting from those
	whose name begins with the string, 'Drov'.

	MIT License
*/

var params = {
		action: 'query',
		format: 'json',
		list: 'allusers',
		auprefix: 'Drov'
	},
	api = new mw.Api();

api.get( params ).done( function ( data ) {
	var users = data.query.allusers,
		u;
	for ( u in users ) {
		console.log( users[ u ].name );
	}
} );


可能的错误

代码 信息
augroup-excludegroup group and excludegroup cannot be used together

参数历史

  • v1.12: Introduced auprop=registration

附加提醒

  • This API call is case sensitive, so aufrom=DROV doesn't return the same results as aufrom=Drov.
  • All registered usernames are saved and retrieved in capitalized form. If you are using aufrom or auprefix in your query, make sure you are passing them values that start with an uppercase character.
  • Although the default behavior is to list any user in the database, we can also limit our response to only those users who belong to a certain group, such as sysops, or bots. User groups are how MediaWiki grants users certain rights and privileges; see Help:使用者權限與使用者群組 for more details on how this system works.

参见

  • API:Users - finds information about a list of users.