API:回退

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

Other languages:
Deutsch • ‎English • ‎dansk • ‎español • ‎français • ‎română • ‎sicilianu • ‎русский • ‎հայերեն • ‎العربية • ‎سنڌي • ‎ไทย • ‎中文 • ‎日本語 • ‎한국어

回退

回退指的是撤销一系列由某用户进行的编辑。 换言之,回滚一直撤销版本直到某版本的编辑是由另一人做出的。 本功能与图形界面中提供的[回退]链接效果是一样的。 回退的版本将被标记为“小编辑”。 可选的是,回退与与被回退的编辑均可被标记为机器人操作,可在最近更改中默认不显示。

令牌

回滚页面需要回滚令牌。 如果您的维基使用MediaWiki 1.24及以上版本,您可以使用 action=query&meta=tokens&type=rollback 来获取回滚令牌。

对于MediaWiki 1.23及之前的版本,可以通过如下的步骤:

Unlike most other tokens, rollback tokens aren't universal: they're not only different for every login, but also depend on the title of the page and the name of the user whose edits are to be rolled back. A rollback token can be obtained as follows:

Obtaining a rollback token

回退页面

可以通过 action=rollback 来回退页面

参数

Note that only one of title or pageid are required, and they cannot be used together.

  • title: The page you want to roll back. Cannot be used together with pageid.
  • pageid: Page ID of the page you want to roll back. Cannot be used together with title. 1.24+
  • tags: Tags to apply to the rollback. 1.27+
  • user: 最后一个版本的编辑者
  • summary: 编辑摘要(可选),如果没有设置将会使用默认的摘要
  • markbot: 如果设置,回退操作与对应回退版本将被标记为机器人编辑
  • watchlist: Unconditionally add or remove the page from your watchlist, use preferences or do not change watch. 可能的值: watch, unwatch, preferences, nochange (默认: preferences) 1.17+
  • token: The token obtained in either a Tokens request with type=rollback or for wiki versions prior to 1.24, a Revisions request with rvtoken=rollback. In the latter case, please note that the token is specific to the page and user who made the revision. In either case, make sure to urlencode the token.

例子

注意:在本例中,所有的参数通过GET请求传递只是为了便于理解。实际上, action=rollback 需要以POST方式请求,以GET方式请求将报错。

Rollback Username's edits to the Main Page with a default summary, and mark them as bot edits

返回数据字段

  • title: The page title.
  • pageid: The page id.
  • summary: A copy of the summary parameter, or the auto-generated summary if none was provided.
  • revid: The revision ID of the rollback.
  • old_revid: The revision ID of the first (most recent) revision that was rolled back.
  • last_revid: The revision ID of the last (oldest) revision that was rolled back.

If rolling back wouldn't change the page, no new revision is made. In this case, revid will be equal to old_revid.

可能的错误

In addition to the usual stuff:

代码 信息
notitle title参数必须被设置。
nouser user参数必须被设置。
notoken token参数必须被设置。
alreadyrolled 您尝试回退的页面已近被回退
onlyauthor 您尝试回退的页面只有一个编辑者





action=rollback

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

Undo the last edit to the page.

If the last user who edited the page made multiple edits in a row, they will all be rolled back.

Parameters:
title

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

pageid

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

Type: integer
tags

Tags to apply to the rollback.

Values (separate with | or alternative):
user

Name of the user whose edits are to be rolled back.

This parameter is required.
Type: user name
summary

Custom edit summary. If empty, default summary will be used.

Default: (empty)
markbot

Mark the reverted edits and the revert as bot edits.

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
token

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

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

This parameter is required.
Examples:
Roll back the last edits to page Main Page by user Example.
api.php?action=rollback&title=Main%20Page&user=Example&token=123ABC [open in sandbox]
Roll back the last edits to page Main Page by IP user 192.0.2.5 with summary Reverting vandalism, and mark those edits and the revert as bot edits.
api.php?action=rollback&title=Main%20Page&user=192.0.2.5&token=123ABC&summary=Reverting%20vandalism&markbot=1 [open in sandbox]