API:Userinfo

From mediawiki.org
Jump to navigation Jump to search
Other languages:
Deutsch • ‎English • ‎Türkçe • ‎français • ‎polski • ‎日本語
MediaWiki version:
1.11

GET request to return information about the currently logged-in user.

API documentation[edit source]


meta=userinfo (ui)

(main | query | userinfo)

Get information about the current user.

Parameters:
uiprop

Which pieces of information to include:

blockinfo
Tags if the current user is blocked, by whom, and for what reason.
hasmsg
Adds a tag messages if the current user has pending messages.
groups
Lists all the groups the current user belongs to.
groupmemberships
Lists groups that the current user has been explicitly assigned to, including the expiry date of each group membership.
implicitgroups
Lists all the groups the current user is automatically a member of.
rights
Lists all the rights the current user has.
changeablegroups
Lists the groups the current user can add to and remove from.
options
Lists all preferences the current user has set.
editcount
Adds the current user's edit count.
ratelimits
Lists all rate limits applying to the current user.
theoreticalratelimits
Lists all rate limits that would apply to the current user if they were not exempt from all ratelimits based on user rights or ip
email
Adds the user's email address and email authentication date.
realname
Adds the user's real name.
acceptlang
Echoes the Accept-Language header sent by the client in a structured format.
registrationdate
Adds the user's registration date.
unreadcount
Adds the count of unread pages on the user's watchlist (maximum 999; returns 1000+ if more).
centralids
Adds the central IDs and attachment status for the user.
preferencestoken
Deprecated. Get a token to change current user's preferences.
latestcontrib
Adds the date of user's latest contribution.
Values (separate with | or alternative): acceptlang, blockinfo, centralids, changeablegroups, editcount, email, groupmemberships, groups, hasmsg, implicitgroups, latestcontrib, options, ratelimits, realname, registrationdate, rights, theoreticalratelimits, unreadcount, preferencestoken
To specify all values, use *.
uiattachedwiki

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

Examples:
Get information about the current user.
api.php?action=query&meta=userinfo [open in sandbox]
Get additional information about the current user.
api.php?action=query&meta=userinfo&uiprop=blockinfo|groups|rights|hasmsg [open in sandbox]

Example[edit source]

GET request[edit source]

Get general user info and user rights.


Response[edit source]

{
    "batchcomplete": "",
    "query": {
        "userinfo": {
            "id": 37494596,
            "name": "Zaycodes",
            "groups": [
                "*",
                "user"
            ],
            "rights": [
                "createaccount",
                "read",
                "edit",
                "createtalk",
                "writeapi",
                "viewmywatchlist",
                "editmywatchlist",
                "viewmyprivateinfo",
                "editmyprivateinfo",
                ...
            ]
        }
    }

Sample code[edit source]

Python[edit source]

#!/usr/bin/python3

"""
    userinfo.py
    MediaWiki API Demos
    Demo of `Userinfo` module: Get general user info and user rights
    MIT License
"""

import requests

S = requests.Session()

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

PARAMS = {
    "action": "query",
    "meta": "userinfo",
    "uiprop": "rights",
    "format": "json"
}

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

print(DATA)

PHP[edit source]

<?php

/*
    userinfo.php
    MediaWiki API Demos
    Demo of `Userinfo` module: Get general user info and user rights
    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "meta" => "userinfo",
    "uiprop" => "rights",
    "format" => "json"
];

$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 );
var_dump( $result );

JavaScript[edit source]

/*
    userinfo.js
    MediaWiki API Demos
    Demo of `Userinfo` module: Get general user info and user rights
    MIT License
*/

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

var params = {
    action: "query",
    meta: "userinfo",
    uiprop: "rights",
    format: "json"
};

url = url + "?origin=*";
Object.keys(params).forEach(function(key){url += "&" + key + "=" + params[key];});

fetch(url)
    .then(function(response){return response.json();})
    .then(function(response) {console.log(response);})
    .catch(function(error){console.log(error);});

MediaWiki JS[edit source]

/*
	userinfo.js
	MediaWiki API Demos
	Demo of `Userinfo` module: Get general user info and user rights
	MIT License
*/

var params = {
		action: 'query',
		meta: 'userinfo',
		uiprop: 'rights',
		format: 'json'
	},
	api = new mw.Api();

api.get( params ).done( function ( data ) {
	console.log( data );
} );

Parameter history[edit source]

  • v1.33: Introduced latestcontrib
  • v1.24: Introduced unreadcount
  • v1.18: Introduced implicitgroups, registrationdate, realname
  • v1.17: Introduced acceptlang
  • v1.16: Introduced changeablegroups
  • v1.15: Introduced email
  • v1.14: Introduced preferencestoken
  • v1.12: Introduced ratelimits, editcount

Additional notes[edit source]

  • The code for the userinfo function is located at ApiQueryUserInfo.php.
  • If you need access to user information not listed here for a user on a Wikimedia project, please email privacy@wikimedia.org for further assistance.

See also[edit source]

  • API:Users - for getting information about other users.