API:Suppression

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

Other languages:
Deutsch • ‎English • ‎Hausa • ‎Türkçe • ‎dansk • ‎español • ‎français • ‎polski • ‎português do Brasil • ‎română • ‎sicilianu • ‎български • ‎русский • ‎العربية • ‎سنڌي • ‎ไทย • ‎中文 • ‎日本語 • ‎한국어

Requête POST pour supprimer une page.

Version de MediaWiki : 1.12

Documentation de l'API




action=delete

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

Delete a page.

Parameters:
title

Title of the page to delete. Cannot be used together with pageid.

pageid

Page ID of the page to delete. Cannot be used together with title.

Type: integer
reason

Reason for the deletion. If not set, an automatically generated reason will be used.

tags

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

Values (separate with | or alternative):
watch
Deprecated.

Add the page to the current user's watchlist.

Type: boolean (details)
watchlist

Unconditionally add or remove the page from the current user's watchlist, use preferences or do not change watch.

One of the following values: watch, unwatch, preferences, nochange
Default: preferences
unwatch
Deprecated.

Remove the page from the current user's watchlist.

Type: boolean (details)
oldimage

The name of the old image to delete as provided by action=query&prop=imageinfo&iiprop=archivename.

token

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

This parameter is required.

Exemple

Le processus possède quatre étapes:

  1. Récupérer le jeton de connexion de API:Jetons .
  2. Envoyer une requête POST avec le jeton de connexion récupéré et les informations utilisateur à l'API.
  3. Récupérer un jeton CSRF une fois connecté.
  4. Envoyer une requête POST pour supprimer une page avec le jeton CSRF récupéré.

Requête POST

Réponse

{
    "delete": {
        "title": "page name",
        "reason": "content was: 'Test' and the only contributor was Username",
        "logid": 1234567
    }
}

Exemple de code

delete.py

#!/usr/bin/python3

"""
    delete.py

    MediaWiki Action API Code Samples
    Demo of `Delete` module: post request to delete a page
    MIT license
"""

import requests

S = requests.Session()

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

# Step 1: Retrieve 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: Send a post request to login. 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: When logged in, retrieve a 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: Send a post request to delete a page
PARAMS_3 = {
    'action':"delete",
    'title':"enter_a_page_title",
    'token':CSRF_TOKEN,
    'format':"json"
}

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

print(DATA)

Erreurs possibles

Code Info
missingtitle La page que vous avez spécifiée n’existe pas.
notoken Le paramètre token doit être défini.
badtoken Jeton CSRF non valide.
permissiondenied Vous n’avez pas le droit de supprimer cette page.
Sur la plupart des wikis, la suppression de pages est réservée aux administrateurs, mais d'autres wikis peuvent avoir des règles différentes.
cantdelete Impossible de supprimer la page ou le fichier « title ».

La suppression a peut-être déjà été effectuée par quelqu’un d’autre.

Historique des paramètres

  • v1.27: tags ajouté
  • v1.17: watch, unwatch obsolète
  • v1.14: pageid ajouté
  • v1.13: watch, oldimage, unwatch ajouté

Notes additionnelles

  • Pour les versions plus anciennes de Mediawiki, vous pouvez utiliser API:Tokens (action) ou API:Info pour obtenir un jeton de modification à la place du jeton de connexion.
  • En exécutant les extraits de code fournis sur cette page, n'oubliez pas d'utiliser https://test.wikipedia.org/w/api.php comme point de terminaison, pour ne pas détruire accidentellement des pages sur les wikis de production.
  • En plus du droit delete, d'autres droits peuvent être nécessaires, en fonction de la localisation et du type de page.

Par exemple, pour supprimer une page .css d'un utilisateur, il faut également avoir le droit editusercss.