Jump to content
MediaWiki

API:Move/pl

From mediawiki.org
This page is a translated version of the page API:Move and the translation is 41% complete.
Ta strona jest częścią dokumentacji API akcji MediaWiki.
API akcji MediaWiki
Podstawy
Uwierzytelnianie
Konta i użytkownicy
Operacje na stronach
Wyszukiwanie
Narzędzia dla programistów
Samouczki
p · o · e
Wersja MediaWiki:
≥ 1.12

POST request to move a page.

Dokumentacja API

Poniższa dokumentacja jest rezultatem Special:ApiHelp/move, automatycznie wygenerowanym przez przedwczesną wersję MediaWiki, na której działa ta witryna (MediaWiki.org).

action=move

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

Move a page.

Specific parameters:
Other general parameters are available.
from

Title of the page to rename. Cannot be used together with fromid.

fromid

Page ID of the page to rename. Cannot be used together with from.

Type: integer
to

Title to rename the page to.

This parameter is required.
reason

Reason for the rename.

Default: (empty)
movetalk

Rename the talk page, if it exists.

Type: boolean (details)
movesubpages

Rename subpages, if applicable.

Type: boolean (details)
noredirect

Don't create a redirect.

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)
ignorewarnings

Ignore any warnings.

Type: boolean (details)
tags

Change tags to apply to the entry in the move log and to the null revision on the destination page.

Values (separate with | or alternative): AWB, convenient-discussions
token

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

This parameter is required.

Przykład

Making any POST request is a multi-step process:

  1. Log in, via one of the methods described on API:Logowanie .
  2. GET a CSRF token .
  3. Send a POST request, with the CSRF token, to take action on a page.

The sample code below covers the final step in detail.

Żądanie POST

Move "CurrentTitle" and its talk page to "Page with new title", without creating a redirect.

Odpowiedź

{
"move":{
"from":"CurrentTitle",
"to":"Page with new title",
"reason":"wrong title",
"talkfrom":"Talk:CurrentTitle",
"talkto":"Talk:Page with new title"
}
}

Przykładowy kod

Python

#!/usr/bin/python3
"""
 move.py
 MediaWiki API Demos
 Demo of `Move` module: Move a page with its talk page, without a redirect.
 MIT license
"""
importrequests
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://www.test.wikipedia.org/wiki/Manual:Bot_passwords
# See https://www.mediawiki.org/wiki/API:Login for more information on log in methods.
PARAMS_2 = {
 "action": "login",
 "lgname": "user_name",
 "lgpassword": "password",
 "format": "json",
 "lgtoken": LOGIN_TOKEN
}
R = S.post(URL, data=PARAMS_2)
DATA = R.json()
# Step 3: While logged in, retrieve a CSRF token
PARAMS_3 = {
 "action": "query",
 "meta": "tokens",
 "format": "json"
}
R = S.get(url=URL, params=PARAMS_3)
DATA = R.json()
CSRF_TOKEN = DATA["query"]["tokens"]["csrftoken"]
# Step 4: Send a POST request to move the page
PARAMS_4 = {
 "action": "move",
 "format": "json",
 "from": "Current title",
 "to": "Page with new title",
 "reason": "Typo",
 "movetalk": "1",
 "noredirect": "1",
 "token": CSRF_TOKEN
}
R = S.post(url=URL, data=PARAMS_4)
DATA = R.text
print(DATA)

PHP

<?php
/*
 move.php
 MediaWiki API Demos
 Demo of `Move` module: Move a page with its talk page, without a redirect.

 MIT license
*/
$endPoint = "https://test.wikipedia.org/w/api.php";
$login_Token = getLoginToken(); // Step 1
loginRequest( $login_Token ); // Step 2
$csrf_Token = getCSRFToken(); // Step 3
move( $csrf_Token ); // Step 4
// Step 1: GET request to fetch login token
function getLoginToken() {
	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 & lgpassword
function loginRequest( $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 token
function getCSRFToken() {
	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 move the page
function move( $csrftoken ) {
	global $endPoint;
	$params4 = [
		"action" => "move",
		"from" => "Current title",
		"to" => "Page with new title",
		"reason" => "API Testing",
		"movetalk" => "1",
		"noredirect" => "1",
		"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

/* 
 move.js

 MediaWiki API Demos
 Demo of `Move` module: Move a page with its talk page, without a redirect.
 MIT license
*/
varrequest=require('request').defaults({jar:true}),
url="https://test.wikipedia.org/w/api.php";
// Step 1: GET request to fetch login token
functiongetLoginToken(){
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 & lgpassword
functionloginRequest(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 token
functiongetCsrfToken(){
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);
move(data.query.tokens.csrftoken);
});
}
// Step 4: POST request to move the page
functionmove(csrf_token){
varparams_3={
action:"move",
from:"Current title",
to:"Page with new title",
reason:"API Testing",
movetalk:"1",
noredirect:"1",
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 1
getLoginToken();

MediaWiki JS

/*
	move.js
	MediaWiki API Demos
	Demo of `Move` module: Move a page with its talk page, without a redirect.
	MIT License
*/
varparams={
action:'move',
from:'Current title',
to:'Page with new title',
reason:'API Test',
movetalk:'1',
noredirect:'1',
format:'json'
},
api=newmw.Api();
api.postWithToken('csrf',params).done(function(data){
console.log(data);
});

Możliwe błędy

Code Info
nofrom Parametr from musi być podany.
noto Parametr to musi być podany.
notoken Parametr token musi być podany.
cantmove-anon Anonymous users can't move pages
cantmove Nie masz uprawnień do przeniesienia tej strony.
cantmovefile Nie masz uprawnień do przeniesienia tego pliku.
If file moving is disabled altogether, you'll get an immobilenamespace error instead
selfmove Ta sama nazwa strony;

strony nie można przenieść na nią samą.

immobilenamespace You tried to move pages from or to a namespace that is protected from moving
articleexists The destination article already exists
redirectexists Przekierowanie już istnieje jako strona „1ドル" i nie może zostać automatycznie usunięte.

Wybierz inną nazwę.

protectedpage You don't have permission to perform this move
protectedtitle The destination article has been protected from creation
nonfilenamespace Nie można przenieść grafiki do przestrzeni nazw nie przeznaczonej dla grafik
filetypemismatch Nowe rozszerzenie nazwy pliku jest innego typu niż zawartość
mustbeposted The move module requires a POST request.

Historia parametrów

  • v1.29: Wprowadzono tags
  • v1.17: Deprecated watch, unwatch
  • v1.17: Wprowadzono watchlist

Dodatkowe informacje

  • Successful use of the noredirect parameter requires the suppressredirect right, which is granted to bots and sysops, not ordinary users.
  • Creating a redirect is the API's default behavior.

If you do not have the suppressredirect right, the API will not return an error; it will simply create a redirect.

  • The Move API uses two additional error handling methods when the page move succeeded, but the talk page or subpage move failed:
    • Strona dyskusji The relevant error will be returned in the talkmove-error-code and talkmove-error-info fields.
    • Podstrona The relevant error will be returned as a standard code/info structure under the subpages key.

Zobacz też

  • API:Import - interwiki imports allow for an alternate way to move pages around a wiki.

AltStyle によって変換されたページ (->オリジナル) /