واجهة برمجة التطبيقات:معلومات_مستخدم

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

طلب GET يرد معلومات عن المستخدم مسجل الدخول حاليًا.

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


meta=userinfo (ui)

(main | query | userinfo)

Get information about the current user.

Specific parameters:
Other general parameters are available.
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.
latestcontrib
Adds the date of user's latest contribution.
cancreateaccount
Indicates whether the user is allowed to create accounts. To check whether some specific account can be created, use action=query&list=users&usprop=cancreate.
Values (separate with | or alternative): acceptlang, blockinfo, cancreateaccount, centralids, changeablegroups, editcount, email, groupmemberships, groups, hasmsg, implicitgroups, latestcontrib, options, ratelimits, realname, registrationdate, rights, theoreticalratelimits, unreadcount
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]

مثال

طلب GET

احصل على معلومات مستخدم عامة وكذا حقوق المستخدم.


النتيجة

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

عينة من الكود البرمجي

Python

#!/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

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

/*
    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

/*
	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'
};
var api = new mw.Api();

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

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

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

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

  • الكود البرمجي للوظيفة userinfo موجودة في ApiQueryUserInfo.php.
  • لو كنت تحتاج للوصول إلى معلومات مستخدم غير مذكورة هنا لمستخدم على مشروع من مشاريع ويكيميديا، يرجى إرسال رسالة بريد إلكتروني إلى privacy wikimedia.org لمزيد من المساعدة.

انظر أيضا