Movatterモバイル変換


[0]ホーム

URL:


Jump to content
MediaWiki
Search

API:Delete

From mediawiki.org
Translate this page
Languages:
This page is part of theMediaWiki Action API documentation.
MediaWiki Action API
Basics
Authentication
Accounts and Users
Page Operations
Search
Developer Utilities
Tutorials
v · d · e

POST request todelete a page.Pages can be undeleted with theAPI:Undelete method.

MediaWiki version:
1.12

API documentation

The following documentation is the output ofSpecial:ApiHelp/delete, automatically generated by the pre-release version of MediaWiki that is running on this site (MediaWiki.org).

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.

Specific parameters:
Other general parameters are available.
title

Title of the page to delete. Cannot be used together withpageid.

pageid

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

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| oralternative): AWB, convenient-discussions
deletetalk

Delete the talk page, if it exists.

Type: boolean (details)
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 (ignored for bot users) or do not change watch.

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

Watchlist expiry timestamp. Omit this parameter entirely to leave the current expiry unchanged.

Type: expiry (details)
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 byaction=query&prop=imageinfo&iiprop=archivename.

token

A "csrf" token retrieved fromaction=query&meta=tokens

This parameter is required.

Example

The process has four steps:

  1. Fetch login token fromAPI:Tokens.
  2. Send a POST request with the fetched login token and user information to the API.
  3. Retrieve a CSRF token when logged in.
  4. Send a post request to delete a page with the fetched CSRF token.

POST request

api.php?action=delete&format=json&title=page%20name&token=+\ [try in ApiSandbox]

Response

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

Sample code

Python

#!/usr/bin/python3"""    delete.py    MediaWiki API Demos    Demo of `Delete` module: post request to delete a page    MIT license"""importrequestsS=requests.Session()URL="https://test.wikipedia.org/w/api.php"# Step1: Retrieve login tokenPARAMS_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']# Step2: 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 & lgpasswordPARAMS_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 tokenPARAMS_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 pagePARAMS_3={'action':"delete",'title':"enter_a_page_title",'token':CSRF_TOKEN,'format':"json",'reason':'the reason for deletion'}R=S.post(URL,data=PARAMS_3)DATA=R.json()print(DATA)

PHP

<?php/*    delete.php    MediaWiki API Demos    Demo of `Delete` module: post request to delete a page    MIT license*/$endPoint="http://dev.wiki.local.wmftest.net:8080/w/api.php";$login_Token=getLoginToken();// Step 1loginRequest($login_Token);// Step 2$csrf_Token=getCSRFToken();// Step 3delete($csrf_Token);// Step 4// Step 1: GET request to fetch login tokenfunctiongetLoginToken(){global$endPoint;$params1=["action"=>"query","meta"=>"tokens","type"=>"login","format"=>"json"];$url=$endPoint."?".http_build_query($params1);$ch=curl_init($url);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_COOKIEJAR,"cookie.txt");curl_setopt($ch,CURLOPT_COOKIEFILE,"cookie.txt");$output=curl_exec($ch);curl_close($ch);$result=json_decode($output,true);return$result["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 & lgpasswordfunctionloginRequest($logintoken){global$endPoint;$params2=["action"=>"login","lgname"=>"bot_user_name","lgpassword"=>"bot_password","lgtoken"=>$logintoken,"format"=>"json"];$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$endPoint);curl_setopt($ch,CURLOPT_POST,true);curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($params2));curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_COOKIEJAR,"cookie.txt");curl_setopt($ch,CURLOPT_COOKIEFILE,"cookie.txt");$output=curl_exec($ch);curl_close($ch);}// Step 3: GET request to fetch CSRF tokenfunctiongetCSRFToken(){global$endPoint;$params3=["action"=>"query","meta"=>"tokens","format"=>"json"];$url=$endPoint."?".http_build_query($params3);$ch=curl_init($url);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_COOKIEJAR,"cookie.txt");curl_setopt($ch,CURLOPT_COOKIEFILE,"cookie.txt");$output=curl_exec($ch);curl_close($ch);$result=json_decode($output,true);return$result["query"]["tokens"]["csrftoken"];}// Step 4: POST request to delete a pagefunctiondelete($csrftoken){global$endPoint;$params4=["action"=>"delete","title"=>"Sandbox","token"=>$csrftoken,"format"=>"json"];$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$endPoint);curl_setopt($ch,CURLOPT_POST,true);curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($params4));curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_COOKIEJAR,"cookie.txt");curl_setopt($ch,CURLOPT_COOKIEFILE,"cookie.txt");$output=curl_exec($ch);curl_close($ch);echo($output);}

JavaScript

/*    delete.js    MediaWiki API Demos    Demo of `Delete` module: post request to delete a page    MIT license*/varrequest=require('request').defaults({jar:true}),url="http://dev.wiki.local.wmftest.net:8080/w/api.php";// Step 1: GET request to fetch login tokenfunctiongetLoginToken(){varparams_0={action:"query",meta:"tokens",type:"login",format:"json"};request.get({url:url,qs:params_0},function(error,res,body){if(error){return;}vardata=JSON.parse(body);loginRequest(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 & lgpasswordfunctionloginRequest(login_token){varparams_1={action:"login",lgname:"bot_username",lgpassword:"bot_password",lgtoken:login_token,format:"json"};request.post({url:url,form:params_1},function(error,res,body){if(error){return;}getCsrfToken();});}// Step 3: GET request to fetch CSRF tokenfunctiongetCsrfToken(){varparams_2={action:"query",meta:"tokens",format:"json"};request.get({url:url,qs:params_2},function(error,res,body){if(error){return;}vardata=JSON.parse(body);delete_page(data.query.tokens.csrftoken);});}// Step 4: POST request to delete a pagefunctiondelete_page(csrf_token){varparams_3={action:"delete",title:"Test",token:csrf_token,format:"json"};request.post({url:url,form:params_3},function(error,res,body){if(error){return;}console.log(body);});}// Start From Step 1getLoginToken();

MediaWiki JS

/*delete.jsMediaWiki API DemosDemo of `Delete` module: post request to delete a pageMIT License*/varparams={action:'delete',title:'enter_a_page_title',format:'json'},api=newmw.Api();api.postWithToken('csrf',params).done(function(data){console.log(data);});

Possible errors

CodeInfo
missingtitleThe page you specified doesn't exist.
notokenThetoken parameter must be set.
badtokenInvalid CSRF token.
permissiondeniedYou don't have permission to delete this page.
On most wikis, deleting pages is restricted to sysops, but other wikis may have different rules.
cantdeleteThe page or file "title" could not be deleted.

It may have already been deleted by someone else.

Parameter history

  • v1.38: Introduceddeletetalk
  • v1.27: Introducedtags
  • v1.17: Deprecatedwatch,unwatch
  • v1.14: Introducedpageid
  • v1.13: Introducedwatch,oldimage,unwatch

Additional notes

  • For older versions of MediaWiki, you can useAPI:Tokens (action) orAPI:Info to get an edit token in place of login token.
  • While executing the code snippets provided on this page, remember to usehttps://test.wikipedia.org/w/api.php as the endpoint, so that you don't accidentally delete pages on production wikis.
  • In addition to thedelete right, other rights may be required, depending on the location and type of page.

Deleting a user's.css page, for example, also requires theeditusercss right.

See also

Retrieved from "https://www.mediawiki.org/w/index.php?title=API:Delete&oldid=6728516"
Categories:

[8]ページ先頭

©2009-2025 Movatter.jp