MediaWiki API 帮助

这是自动生成的MediaWiki API文档页面。

文档和例子:https://www.mediawiki.org/wiki/API:Main_page/zh

主模块

  • 来源:MediaWiki
  • 许可协议:GPL-2.0+

状态信息:本页所展示的所有特性都应正常工作,但是API仍在开发当中,将会随时变化。请订阅mediawiki-api-announce 邮件列表以便获得更新通知。

错误请求:当API收到错误请求时,HTTP header将会返回一个包含"MediaWiki-API-Error"的值,随后header的值与error code将会送回并设置为相同的值。详细信息请参阅API:错误与警告

测试中:测试API请求的易用性,请参见Special:ApiSandbox

参数:
action

要执行的操作。

ask
⧼apihelp-ask-summary⧽
askargs
⧼apihelp-askargs-summary⧽
avatarshow
⧼apihelp-avatarshow-summary⧽
avatarsubmit
⧼apihelp-avatarsubmit-summary⧽
block
封禁一位用户。
blogpage
BlogPage API module
browsebyproperty
⧼apihelp-browsebyproperty-summary⧽
browsebysubject
⧼apihelp-browsebysubject-summary⧽
carrier
⧼apihelp-carrier-summary⧽
changeauthenticationdata
更改当前用户的身份验证数据。
checktoken
action=query&meta=tokens检查令牌有效性。
cirrus-config-dump
CirrusSearch配置的转储。
cirrus-mapping-dump
用于此wiki的CirrusSearch映射转储。
cirrus-settings-dump
用于此wiki的CirrusSearch设置转储。
clearhasmsg
清除当前用户的hasmsg标记。
clientlogin
使用交互式流登录wiki。
commentblock
⧼apihelp-commentblock-summary⧽
commentdelete
⧼apihelp-commentdelete-summary⧽
commentlatestid
⧼apihelp-commentlatestid-summary⧽
commentlist
⧼apihelp-commentlist-summary⧽
commentsubmit
⧼apihelp-commentsubmit-summary⧽
commentvote
⧼apihelp-commentvote-summary⧽
commonstyle
⧼apihelp-commonstyle-summary⧽
compare
获取两页面之间的差异。
configure
配置扩展的API模块
createaccount
创建一个新用户账户。
cspreport
由浏览器使用以报告违反内容安全方针的内容。此模块应永不使用,除了在被CSP兼容的浏览器自动使用时。
delete
删除一个页面。
echomarkread
对当前用户标记通知为已读。
echomarkseen
对当前用户标记通知为已读。
edit
创建和编辑页面。
emailuser
电子邮件联系一位用户。
expandtemplates
展开wiki文本中的所有模板。
ext.srf.slideshow.show
⧼apihelp-ext.srf.slideshow.show-summary⧽
feedback
⧼apihelp-feedback-summary⧽
feedcontributions
返回用户贡献纲要。
feedrecentchanges
返回最近更改的摘要。
feedwatchlist
返回监视列表纲要。
filerevert
回退一个文件至某一旧版本。
flow
允许对Flow页面的操作。
flow-parsoid-utils
在wiki文本和HTML之间互相转换文本。
flowthank
为一条Flow评论公开发送感谢通知。
fork
⧼apihelp-fork-summary⧽
getfollowinguser
⧼apihelp-getfollowinguser-summary⧽
getuserfollowinfo
⧼apihelp-getuserfollowinfo-summary⧽
getuserfollowrecommend
⧼apihelp-getuserfollowrecommend-summary⧽
help
显示指定模块的帮助。
imagerotate
旋转一幅或多幅图像。
import
从其他wiki,或从XML文件导入页面。
jsonconfig
允许直接访问JsonConfig子系统。
jsondata
取得本地化JSON数据。
linkaccount
将来自第三方提供商的账户链接至当前用户。
login
登录并获取身份验证cookie。
logout
退出并清除会话数据。
lua
⧼apihelp-lua-summary⧽
managetags
执行有关更改标签的管理任务。
mergehistory
合并页面历史。
move
移动一个页面。
opensearch
使用OpenSearch协议搜索wiki。
options
更改当前用户的参数设置。
paraminfo
获得关于API模块的信息。
parse
解析内容并返回解析器输出。
patrol
巡查页面或修订版本。
pfautocomplete
由页面表单扩展所使用的自动完成。
pfautoedit
使用页面表单扩展定义的表单创建或编辑页面。
pollny
PollNY API - 包括用户和管理功能。
protect
更改页面的保护等级。
purge
为指定标题刷新缓存。
query
取得来自并有关MediaWiki的数据。
removeauthenticationdata
从当前用户移除身份验证数据。
resetpassword
向用户发送密码重置邮件。
revisiondelete
删除和恢复修订版本。
rollback
撤销对页面的最近编辑。
rsd
导出一个RSD(Really Simple Discovery)架构。
scribunto-console
从Scribunto控制台提供XHR请求的内部模块。
setnotificationtimestamp
更新监视页面的通知时间戳。
setpagelanguage
更改页面的语言。
smwinfo
⧼apihelp-smwinfo-summary⧽
spamblacklist
验证一个或多个URL是否触发垃圾链接黑名单。
stashedit
在分享缓存中准备编辑。
tag
从个别修订或日志记录中添加或移除更改标签。
templatedata
获取由TemplateData扩展存储的数据。
thank
向一名编辑者发送感谢通知。
titleblacklist
验证一个页面的标题、文件名或用户名是否触发标题黑名单。
transcodereset
持有“transcode-reset”权限的用户可以重置并重启转码任务。
unblock
解封一位用户。
undelete
恢复删除页面的修订版本。
unlinkaccount
从当前用户移除已连接的第三方账户。
upload
上传文件,或获取正在等待中的上传的状态。
useractivity
⧼apihelp-useractivity-summary⧽
userrights
更改一位用户的组成员。
useruserfollow
⧼apihelp-useruserfollow-summary⧽
useruserunfollow
⧼apihelp-useruserunfollow-summary⧽
validatepassword
验证密码是否符合wiki的密码方针。
visualeditor
从Parsoid服务返回页面的HTML5。
visualeditoredit
保存一个HTML5页面至MediaWiki(通过Parsoid服务转换为wiki文本)。
watch
从当前用户的监视列表中添加或移除页面。
webhook
⧼apihelp-webhook-summary⧽
tokens
已弃用。 获取数据修改操作的令牌。
以下值中的一个:askaskargsavatarshowavatarsubmitblockblogpagebrowsebypropertybrowsebysubjectcarrierchangeauthenticationdatachecktokencirrus-config-dumpcirrus-mapping-dumpcirrus-settings-dumpclearhasmsgclientlogincommentblockcommentdeletecommentlatestidcommentlistcommentsubmitcommentvotecommonstylecompareconfigurecreateaccountcspreportdeleteechomarkreadechomarkseeneditemailuserexpandtemplatesext.srf.slideshow.showfeedbackfeedcontributionsfeedrecentchangesfeedwatchlistfilerevertflowflow-parsoid-utilsflowthankforkgetfollowingusergetuserfollowinfogetuserfollowrecommendhelpimagerotateimportjsonconfigjsondatalinkaccountloginlogoutluamanagetagsmergehistorymoveopensearchoptionsparaminfoparsepatrolpfautocompletepfautoeditpollnyprotectpurgequeryremoveauthenticationdataresetpasswordrevisiondeleterollbackrsdscribunto-consolesetnotificationtimestampsetpagelanguagesmwinfospamblackliststashedittagtemplatedatathanktitleblacklisttranscoderesetunblockundeleteunlinkaccountuploaduseractivityuserrightsuseruserfollowuseruserunfollowvalidatepasswordvisualeditorvisualeditoreditwatchwebhooktokens
默认:help
format

输出的格式。

json
输出数据为JSON格式。
jsonfm
输出数据为JSON格式(HTML优质打印效果)。
none
不输出任何东西。
php
输出数据为序列化PHP格式。
phpfm
输出数据为序列化PHP格式(HTML优质打印效果)。
rawfm
输出数据为JSON格式,包含调试元素(HTML优质打印效果)。
xml
输出数据为XML格式。
xmlfm
输出数据为XML格式(HTML优质打印效果)。
以下值中的一个:jsonjsonfmnonephpphpfmrawfmxmlxmlfm
默认:jsonfm
maxlag

最大延迟可被用于MediaWiki安装于数据库复制集中。要保存导致更多网站复制延迟的操作,此参数可使客户端等待直到复制延迟少于指定值时。万一发生过多延迟,错误代码maxlag会返回消息,例如等待$host中:延迟$lag秒
参见手册:Maxlag参数以获取更多信息。

类型:整数
smaxage

设置s-maxage HTTP缓存控制头至这些秒。错误不会缓存。

类型:整数
默认:0
maxage

设置max-age HTTP缓存控制头至这些秒。错误不会缓存。

类型:整数
默认:0
assert

如果设置为user就验证用户是否登录,或如果设置为bot就验证是否有机器人用户权限。

以下值中的一个:userbot
assertuser

验证当前用户是命名用户。

类型:用户名
requestid

任何在此提供的值将包含在响应中。可以用以区别请求。

servedby

包含保存结果请求的主机名。

类型:布尔值(详细信息
curtimestamp

在结果中包括当前时间戳。

类型:布尔值(详细信息
responselanginfo

包含在结果中用于uselangerrorlang的语言。

类型:布尔值(详细信息
origin

当通过跨域名AJAX请求(CORS)访问API时,设置此作为起始域名。这必须包括在任何pre-flight请求中,并因此必须是请求的URI的一部分(而不是POST正文)。

对于已验证的请求,这必须正确匹配Origin标头中的原点之一,因此它已经设置为像https://en.wikipedia.orghttps://meta.wikimedia.org的东西。如果此参数不匹配Origin页顶,就返回403错误响应。如果此参数匹配Origin页顶并且起点被白名单,将设置Access-Control-Allow-OriginAccess-Control-Allow-Credentials开头。

对于未验证的请求,会指定值*。这将导致Access-Control-Allow-Origin标头被设置,但Access-Control-Allow-Credentials将为false,且所有用户特定数据将受限制。

uselang

用于消息翻译的语言。action=query&meta=siteinfosiprop=languages可返回语言代码列表,或指定user以使用当前用户的语言设置,或指定content以使用此wiki的内容语言。

默认:user
errorformat

用于警告和错误文本输出的格式。

plaintext
已移除HTML标签,并被替换实体的Wiki文本。
wikitext
未解析的wiki文本。
html
HTML。
raw
消息关键词和参数。
none
无文本输出,仅包含错误代码。
bc
在MediaWiki 1.29以前版本使用的格式。errorlangerrorsuselocal会被忽略。
以下值中的一个:plaintextwikitexthtmlrawnonebc
默认:bc
errorlang

用于警告和错误的语言。action=query&meta=siteinfosiprop=languages返回语言代码的列表,或指定content以使用此wiki的内容语言,或指定uselang以使用与uselang参数相同的值。

默认:uselang
errorsuselocal

如果指定,错误文本将使用来自MediaWiki名字空间的本地自定义消息。

类型:布尔值(详细信息
权限:
writeapi
使用写入API
授予:all、user、bot和bot-global
apihighlimits
在API查询中使用更高的上限(慢查询:500;快查询:5000)。慢查询的限制也适用于多值参数。
授予:bot、sysop、staff、sysop-global、bot-global和captain

数据类型

至MediaWiki的输入应为NFC标准化的UTF-8。MediaWiki可以尝试转换其他输入,但这可能导致一些操作失败(例如带MD5校验编辑)。

一些在API请求中的参数类型需要更进一步解释:

boolean
布尔参数就像HTML复选框一样工作:如果指定参数,无论何值都被认为是真。如果要假值,则可完全忽略参数。
timestamp
时间戳可被指定为很多格式。推荐使用ISO 8601日期和时间标准。所有时间为UTC时间,包含的任何时区会被忽略。
  • ISO 8601日期和时间,2001-01-15T14:56:00Z(标点和Z是可选项)
  • 带小数秒(会被忽略)的ISO 8601日期和时间,2001-01-15T14:56:00.00001Z(破折号、冒号和Z是可选的)
  • MediaWiki格式,20010115145600
  • 一般数字格式,2001-01-15 14:56:00GMT+##-##的可选时区会被忽略)
  • EXIF格式,2001:01:15 14:56:00
  • RFC 2822格式(时区可省略),Mon, 15 Jan 2001 14:56:00
  • RFC 850格式(时区可省略),Monday, 15-Jan-2001 14:56:00
  • C ctime格式,Mon Jan 15 14:56:00 2001
  • 从1970-01-01T00:00:00Z开始的秒数,作为1到13位数的整数(除了0
  • 字符串now
替代多值分隔符
使用多个值的参数通常会与管道符号分隔的值一起提交,例如param=value1|value2param=value1%7Cvalue2。如果值必须包含管道符号,使用U+001F(单位分隔符)作为分隔符,在值前加前缀U+001F,例如param=%1Fvalue1%1Fvalue2

制作人员

API 开发人员:

  • Yuri Astrakhan(创建者,2006年9月~2007年9月的开发组领导)
  • Roan Kattouw(2007年9月~2009年的开发组领导)
  • Victor Vasiliev
  • Bryan Tong Minh
  • Sam Reed
  • Brad Jorsch(2013年至今的开发组领导)

请将您的评论、建议和问题发送至mediawiki-api@lists.wikimedia.org,或提交错误请求至https://phabricator.wikimedia.org/。