API:Benutzergruppen

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page API:User group membership and the translation is 94% complete.

Other languages:
Deutsch • ‎English • ‎dansk • ‎français • ‎中文 • ‎日本語
MediaWiki version: 1.16

Es sind POST-Anfragen nötig, um Benutzergruppen zu ändern

API-Dokumentation


action=userrights

(main | userrights)
  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0-or-later

Change a user's group membership.

Parameters:
user

User name.

Type: user name
userid

User ID.

Type: integer
add

Add the user to these groups, or if they are already a member, update the expiry of their membership in that group.

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

Expiry timestamps. May be relative (e.g. 5 months or 2 weeks) or absolute (e.g. 2014-09-18T12:34:56Z). If only one timestamp is set, it will be used for all groups passed to the add parameter. Use infinite, indefinite, infinity, or never for a never-expiring user group.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
Default: infinite
remove

Remove the user from these 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
reason

Reason for the change.

Default: (empty)
token

A "userrights" token retrieved from action=query&meta=tokens

For compatibility, the token used in the web UI is also accepted.

This parameter is required.
tags

Change tags to apply to the entry in the user rights log.

Values (separate with | or alternative):
Examples:
Add user FooBot to group bot, and remove from groups sysop and bureaucrat.
api.php?action=userrights&user=FooBot&add=bot&remove=sysop|bureaucrat&token=123ABC [open in sandbox]
Add the user with ID 123 to group bot, and remove from groups sysop and bureaucrat.
api.php?action=userrights&userid=123&add=bot&remove=sysop|bureaucrat&token=123ABC [open in sandbox]
Add user SometimeSysop to group sysop for 1 month.
api.php?action=userrights&user=SometimeSysop&add=sysop&expiry=1%20month&token=123ABC [open in sandbox]

Beispiel

Um diese API zu benutzen, melde dich zunächst an, um deine eigenen Benutzerrechte zu verifizieren. Nur einige Benutzergruppen haben das Recht, Benutzergruppen über die API zu ändern. Siehe API:Login für das Loginprozedere

Sobald du eingeloggt bist, mach ein GET-Request, um einen userrights token zu erhalten.

Die obige Anfrage gilt für MediaWiki v. 1.24+; in älteren Versionen hängt der userrights-Token vom Benutzer ab, dessen Benutzergruppen geändert werden sollen. Die Anfrage würde so gemacht werden:

Aus Kompatiblitätsgründen akzeptiert die API auch die Tokens, die Im Webinterface benutzt werden.

Welche Methode auch immer gewählt wurde, sobald du den Token hast, kannst du dein userrights-Request machen, wie unten.

POST-Anfrage

Entferne Bob aus bureaucrat und füge ihn zu sysop hinzu, wodurch ihm Sysop-Rechte vergeben werden.

Antwort

{
    "userrights": {
        "user": "Bob",
        "userid": 2793024,
        "removed": ["bureaucrat"],
        "added": ["sysop"]
    }
}

Beispielcode

#!/usr/bin/python3

"""
    userrights.py
    MediaWiki Action API Code Samples
    Demo of `Userrights` module: Add and remove user rights by
    changing the user's group membership.
    MIT license
"""

import requests

S = requests.Session()

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

# Step 1: Retrieve a login token
PARAMS_1 = {
    "action": "query",
    "meta": "tokens",
    "type": "login",
    "format": "json"
}

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

LOGIN_TOKEN = DATA["query"]["tokens"]["logintoken"]

# Step 2: Send a post request to log in. For this login 
# method, Obtain credentials by first visiting
# https://test.wikipedia.org/wiki/Special:BotPasswords/
# See https://www.mediawiki.org/wiki/API:Login for more
# information on log in methods.
PARAMS_2 = {
    "action": "login",
    "lgname": "username",
    "lgpassword": "password",
    "lgtoken": LOGIN_TOKEN,
    "format": "json"
}

R = S.post(URL, data=PARAMS_2)

# Step 3: Obtain a Userrights token
PARAMS_3 = {
    "action": "query",
    "format": "json",
    "meta": "tokens",
    "type": "userrights"
}

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

USERRIGHTS_TOKEN = DATA["query"]["tokens"]["userrightstoken"]

# Step 4: Request to add or remove a user from a group
PARAMS_4 = {
    "action": "userrights",
    "format": "json",
    "user": "Bob",
    "add": "sysop",
    "remove": "bureaucrat",
    "reason": "OOPS! added Bob to the wrong group",
    "token": USERRIGHTS_TOKEN
}

R = S.post(URL, data=PARAMS_4)
DATA = R.json()

print(DATA)


Mögliche Fehler

Code Info
nouser The user parameter must be set.
nosuchuser User "user" doesn't exist
Dies passiert möglicherweise beim Versuch, die Rechte eines anonymen Benutzers zu ändern.
notoken The token parameter must be set.
badtoken Invalid CSRF token.
readonly Das Wiki ist derzeit im schreibgeschützten Modus.


Parametergeschichte

  • v1.23: Introduced userid

Weitere Notizen

  • Standardmäßig können nur Bürokraten Rechte erteilen oder entziehen
  • Einige Wikis erlauben Benutzern, die keine Bürokraten sind, Benutzerrechte unter Bedingungen zu ändern, wie die des eigenen Kontos
  • Wenn du nicht die Berechtigung dazu hast, das entsprechende Recht zu erteilen oder zu entziehen, wird die API keinen Fehler werfen, sondern die Felder add und remove in der Antwort werden schlicht und einfach Leer sein.

Siehe auch

  • Help:User rights and groups - beschreibt, wie Benutzerrechte und Benutzergruppen im Detail funktionieren.
  • Special:ListGroupRights - listet alle Benutzergruppen und deren Berechtigungen im aktuellen Wiki auf.
  • Special:UserRights - eine GUI-Variante, Berechtigungen zu erteilen oder zu entziehen (MediaWiki v. 1.29+)
  • API:Users - Informationen über einen Benutzer bekommen, inklusive seiner Benutzergruppen und Rechte