واجهة برمجة التطبيقات:Allusers

From mediawiki.org
This page is a translated version of the page API:Allusers and the translation is 100% complete.
إصدار ميدياويكي:
1.11

طلب GET الغرض منه سرد قائمة بالمستخدمين المسجلين، مرتبة حسب اسم المستخدم.

توثيق واجهة برمجة التطبيقات


list=allusers (au)

(main | query | allusers)

Enumerate all registered users.

Specific parameters:
Other general parameters are available.
aufrom

The username to start enumerating from.

auto

The username 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. Does not include implicit or auto-promoted groups like *, user, or autoconfirmed.

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

Exclude users in the given groups.

Values (separate with | or alternative): accountcreator, autopatrolled, bot, bureaucrat, checkuser, confirmed, flow-bot, import, interface-admin, ipblock-exempt, no-ipinfo, steward, suppress, sysop, translationadmin, transwiki, uploader
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): abusefilter-bypass-blocked-external-domains, abusefilter-hidden-log, abusefilter-hide-log, abusefilter-log, abusefilter-log-detail, abusefilter-log-private, abusefilter-modify, abusefilter-modify-blocked-external-domains, abusefilter-modify-global, abusefilter-modify-restricted, abusefilter-privatedetails, abusefilter-privatedetails-log, abusefilter-revert, abusefilter-view, abusefilter-view-private, apihighlimits, applychangetags, autoconfirmed, autocreateaccount, autopatrol, autoreview, autoreviewrestore, badcaptcha, badoath, bigdelete, block, blockemail, bot, browsearchive, centralauth-createlocal, centralauth-lock, centralauth-merge, centralauth-rename, centralauth-suppress, centralauth-unmerge, changeemail, changetags, checkuser, checkuser-log, checkuser-temporary-account, checkuser-temporary-account-log, checkuser-temporary-account-no-preference, collectionsaveascommunitypage, collectionsaveasuserpage, confirmemail, createaccount, createpage, createtalk, delete, delete-redirect, deletechangetags, deletedhistory, deletedtext, deletelogentry, deleterevision, edit, editautopatrolprotected, editautoreviewprotected, editcontentmodel, editeditorprotected, editextendedsemiprotected, editinterface, editmyoptions, editmyprivateinfo, editmyusercss, editmyuserjs, editmyuserjson, editmyuserjsredirect, editmywatchlist, editprotected, editsemiprotected, editsitecss, editsitejs, editsitejson, edittrustedprotected, editusercss, edituserjs, edituserjson, enrollasmentor, extendedconfirmed, flow-create-board, flow-delete, flow-edit-post, flow-edit-title, flow-hide, flow-lock, flow-suppress, globalblock, globalblock-exempt, globalblock-whitelist, globalgroupmembership, globalgrouppermissions, hideuser, import, importupload, ipblock-exempt, ipinfo, ipinfo-view-basic, ipinfo-view-full, ipinfo-view-log, linkpurge, lqt-merge, lqt-react, lqt-split, mailpassword, manage-all-push-subscriptions, managechangetags, managementors, markbotedits, massmessage, mergehistory, minoredit, move, move-categorypages, move-rootuserpages, move-subpages, movefile, movestable, mwoauthmanageconsumer, mwoauthmanagemygrants, mwoauthproposeconsumer, mwoauthsuppress, mwoauthupdateownconsumer, mwoauthviewprivate, mwoauthviewsuppressed, newsletter, newsletter-announce, newsletter-create, newsletter-delete, newsletter-manage, newsletter-restore, nominornewtalk, noratelimit, nuke, oathauth-api-all, oathauth-disable-for-user, oathauth-enable, oathauth-verify-user, oathauth-view-log, override-antispoof, override-export-depth, pagelang, pagetranslation, patrol, patrolmarks, protect, purge, read, renameuser, renderfile, renderfile-nonstandard, reupload, reupload-own, reupload-shared, review, rollback, sboverride, securepoll-create-poll, securepoll-view-voter-pii, sendemail, setmentor, sfsblock-bypass, siteadmin, skipcaptcha, spamblacklistlog, stablesettings, stashbasehtml, stashedit, suppressionlog, suppressredirect, suppressrevision, tboverride, tboverride-account, templateeditor, thanks-notification, titleblacklistlog, torunblocked, transcode-reset, transcode-status, translate, translate-groupreview, translate-import, translate-manage, translate-messagereview, unblockself, undelete, unreviewedpages, unwatchedpages, upload, upload_by_url, urlshortcode, urlshortener-create-url, urlshortener-manage-url, urlshortener-view-log, userrights, userrights-interwiki, validate, viewdeletedfile, viewmyprivateinfo, viewmywatchlist, viewsuppressed, writeapi
Maximum number of values is 50 (500 for clients that are allowed higher limits).
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, centralids, editcount, groups, implicitgroups, registration, rights
aulimit

How many total usernames to return.

Type: integer or max
The value must be between 1 and 500.
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 الغرض منه سرد قائمة بكافة المستخدمين، بدءا بهؤلاء التي تبدأ أسمائهم بمجموعة المحارف «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 و excludegroup معا

تاريخ المتغيرات

  • v1.12: إضافة auprop=registration

ملاحظات إضافية

  • إن استدعاء واجهة برمجة التطبيقات هذه يستلزم مطابقة حالة الأحرف، حتى لا تكون نتيجة aufrom=DROV هي ذات نتيجة aufrom=Drov.
  • تحفظ كافة أسماء المستخدمين المسجلين وتستدعى في صيغة أحرف كبيرة كاملة. لو كنت تستخدم aufrom أو auprefix في استعلامك، تأكد من أنك تقدم لهم قيم تبدأ بمحارف كبيرة الحجم.
  • رغم أن السبيل المعتاد هو عرض أي مستخدم في قاعدة البيانات، يمكنك أيضا تقييد ردنا إلى مجرد هؤلاء المستخدمين الذين يتمتعون بعضوية مجموعة محددة، مثل إداري النظام أو البوتات. مجموعات المستخدمين هي الكيفية التي تتبعها ميدياويكي في منح المستخدمين حقوق وامتيازات معينة؛ طالع Help:User rights and groups لمزيد من التفاصيل عن كيفية عمل هذا النظام.

انظر أيضا