API:Block/es

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page API:Block and the translation is 31% complete.

Other languages:
Deutsch • ‎English • ‎Iriga Bicolano • ‎dansk • ‎español • ‎polski • ‎中文 • ‎日本語
Versión de MediaWiki: 1.12

POST request to block or unblock a user.

Blocking users

API documentation


action=block

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

Block a user.

Parameters:
user

Username, IP address, or IP address range to block. Cannot be used together with userid

Type: user name
userid

User ID to block. Cannot be used together with user.

Type: integer
expiry

Expiry time. May be relative (e.g. 5 months or 2 weeks) or absolute (e.g. 2014-09-18T12:34:56Z). If set to infinite, indefinite, or never, the block will never expire.

Default: never
reason

Reason for block.

Default: (empty)
anononly

Block anonymous users only (i.e. disable anonymous edits for this IP address).

Type: boolean (details)
nocreate

Prevent account creation.

Type: boolean (details)
autoblock

Automatically block the last used IP address, and any subsequent IP addresses they try to login from.

Type: boolean (details)
noemail

Prevent user from sending email through the wiki. (Requires the blockemail right).

Type: boolean (details)
hidename

Hide the username from the block log. (Requires the hideuser right).

Type: boolean (details)
allowusertalk

Allow the user to edit their own talk page (depends on $wgBlockAllowsUTEdit).

Type: boolean (details)
reblock

If the user is already blocked, overwrite the existing block.

Type: boolean (details)
watchuser

Watch the user's or IP address's user and talk pages.

Type: boolean (details)
tags

Change tags to apply to the entry in the block log.

Values (separate with | or alternative):
partial

Block user from specific pages or namespaces rather than the entire site.

Type: boolean (details)
pagerestrictions

List of titles to block the user from editing. Only applies when partial is set to true.

Separate values with | or alternative. Maximum number of values is 10.
namespacerestrictions

List of namespace IDs to block the user from editing. Only applies when partial is set to true.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 90, 91, 92, 93, 100, 101, 102, 103, 104, 105, 106, 107, 486, 487, 828, 829, 1198, 1199, 2300, 2301, 2302, 2303, 2600, 5500, 5501
To specify all values, use *.
token

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

This parameter is required.
Examples:
Block IP address 192.0.2.5 for three days with reason First strike.
api.php?action=block&user=192.0.2.5&expiry=3%20days&reason=First%20strike&token=123ABC [open in sandbox]
Block user Vandal indefinitely with reason Vandalism, and prevent new account creation and email sending.
api.php?action=block&user=Vandal&expiry=never&reason=Vandalism&nocreate=&autoblock=&noemail=&token=123ABC [open in sandbox]

Ejemplo

Making any POST request is a multi-step process:

  1. Log in, via one of the methods described on API:Login .
  2. GET a token . This token is equal to the edit token and changes at every login.
  3. Send a POST request, with the token, to block a user.

POST request

Example of blocking a user for 1 day, disabling account creation and email

Respuesta

{
  "block": {
    "user": "Example",
    "userID": 2,
    "expiry": "2015-02-25T07:27:50Z",
    "id": "8",
    "reason": "Time out",
    "nocreate": "",
    "noemail": ""
  }
}

Código de ejemplo

block_user.py

#!/usr/bin/python3

"""
    block_user.py
    MediaWiki Action API Code Samples
    Demo of `Block` module: sending POST request to block user
    MIT license
"""

import requests

S = requests.Session()

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

# Step 1: GET request to fetch login token
PARAMS_0 = {
    "action": "query",
    "meta": "tokens",
    "type": "login",
    "format": "json"
}

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

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

# Step 2: POST request to log in. Use of main account for login is not
# supported. Obtain credentials via Special:BotPasswords
# (https://www.mediawiki.org/wiki/Special:BotPasswords) for lgname & lgpassword
PARAMS_1 = {
    "action": "login",
    "lgname": "your_bot_username",
    "lgpassword": "your_bot_password",
    "lgtoken": LOGIN_TOKEN,
    "format": "json"
}

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

# Step 3: GET request to fetch CSRF token
PARAMS_2 = {
    "action": "query",
    "meta": "tokens",
    "format": "json"
}

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

CSRF_TOKEN = DATA['query']['tokens']['csrftoken']

# Step 4: POST request to block user
PARAMS_3 = {
    "action": "block",
    "user": "Example",
    "expiry": "2015-02-25T07:27:50Z",
    "reason": "Time out",
    "token": CSRF_TOKEN,
    "format": "json"
}

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

print(DATA)

Unblocking users

API documentation


action=unblock

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

Unblock a user.

Parameters:
id

ID of the block to unblock (obtained through list=blocks). Cannot be used together with user or userid.

Type: integer
user

Username, IP address or IP address range to unblock. Cannot be used together with id or userid.

userid

User ID to unblock. Cannot be used together with id or user.

Type: integer
reason

Reason for unblock.

Default: (empty)
tags

Change tags to apply to the entry in the block log.

Values (separate with | or alternative):
token

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

This parameter is required.

Ejemplo

POST request

Unblocking Example and apologizing

Respuesta

{
  "id": "16",
  "user": "Example",
  "userid": 2,
  "reason": "Sorry Example"
}

Possible errors

Código (Blocking) Información
alreadyblocked The user you tried to block was already blocked
cantblock No tienes permiso para bloquear usuarios.
cantblock-email No tienes permiso para bloquear a los usuarios el envío de correo electrónico a través de la wiki.
canthide No tienes permiso para ocultar nombres de usuario del registro de bloqueos.
This feature has to be enabled explicitly in LocalSettings.php.
invalidexpiry Invalid expiry time
invalidip Invalid IP address specified
invalidrange Invalid IP range
notoken Se debe establecer el parámetro token.
nouser Se debe establecer el parámetro user.
pastexpiry Expiry time "$1" is in the past.
permissiondenied No tienes permiso para bloquear usuarios.
On most wikis, blocking users is restricted to sysops, but other wikis may have stricter rules.
rangedisabled Blocking IP ranges has been disabled
Código (Desbloqueando) Información
notarget Either the id or the user parameter must be set
notoken Se debe establecer el parámetro token.
idanduser The id and user parameters can't be used together
blockedasrange IP address "address" was blocked as part of range "range". You can't unblock the IP individually, but you can unblock the range as a whole.
cantunblock The block you specified was not found. It may have been unblocked already
permissiondenied No tienes permiso para desbloquear usuarios.
On most wikis, unblocking users is restricted to sysops, but other wikis may have different rules.

Parameter history

  • 1.29: Introduced tags
  • 1.21: Removed gettoken
  • 1.20: Deprecated gettoken
  • 1.18: Introduced watchuser
  • 1.14: Introduced allowusertalk, reblock

Véase también