API:所有用户
本页是MediaWiki Action API帮助文档的一部份。 |
MediaWiki版本: | ≥ 1.11 |
使用GET请求以用户名排序列出所有注册用户的用户名。
API帮助文档
示例
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: 啟用
auprop=registration
附加提醒
- This API call is case sensitive, so
aufrom=DROV
doesn't return the same results asaufrom=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:用户 - finds information about a list of users.