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⧽
block
封禁一位用户。
bouncehandler
接收退回的电子邮件并处理它以处理失败的容器。
categorytree
用于CategoryTree扩展的内部模块。
centralnoticecdncacheupdatebanner
在请求的横幅及语言中,请求为匿名用户刷新在CDN(前端)存储的横幅缓存
centralnoticechoicedata
对于指定项目和语言,获取选择一个横幅需要的数据
centralnoticequerycampaign
获取一则通过的所有配置设置。
changeauthenticationdata
更改当前用户的身份验证数据。
checktoken
action=query&meta=tokens检查令牌有效性。
clearhasmsg
清除当前用户的hasmsg标记。
clientlogin
使用交互式流登录wiki。
compare
获取两页面之间的差异。
createaccount
创建一个新用户账户。
cspreport
由浏览器使用以报告违反内容安全方针的内容。此模块应永不使用,除了在被CSP兼容的浏览器自动使用时。
delete
删除一个页面。
echomarkread
对当前用户标记通知为已读。
echomarkseen
对当前用户标记通知为已读。
edit
创建和编辑页面。
editmassmessagelist
编辑大量信息递送列表。
emailuser
电子邮件联系一位用户。
expandtemplates
展开wiki文本中的所有模板。
featuredfeed
返回特色内容源。
feedcontributions
返回用户贡献纲要。
feedrecentchanges
返回最近更改的摘要。
feedthreads
返回讨论帖子的订阅。
feedwatchlist
返回监视列表纲要。
filerevert
回退一个文件至某一旧版本。
flow
允许对Flow页面的操作。
flow-parsoid-utils
在wiki文本和HTML之间互相转换文本。
flowthank
为一条Flow评论公开发送感谢通知。
graph
访问图表标签功能。
help
显示指定模块的帮助。
imagerotate
旋转一幅或多幅图像。
import
从其他wiki,或从XML文件导入页面。
jsonconfig
允许直接访问JsonConfig子系统。
linkaccount
将来自第三方提供商的账户链接至当前用户。
login
登录并获取身份验证cookie。
logout
退出并清除会话数据。
managetags
执行有关更改标签的管理任务。
massmessage
发送一条信息到列出的多个页面。
mergehistory
合并页面历史。
mobileview
返回移动浏览需要的数据。
move
移动一个页面。
opensearch
使用OpenSearch协议搜索wiki。
options
更改当前用户的参数设置。
paraminfo
获得关于API模块的信息。
parse
解析内容并返回解析器输出。
patrol
巡查页面或修订版本。
protect
更改页面的保护等级。
purge
为指定标题刷新缓存。
query
取得来自并有关MediaWiki的数据。
removeauthenticationdata
从当前用户移除身份验证数据。
resetpassword
向用户发送密码重置邮件。
revisiondelete
删除和恢复修订版本。
rollback
撤销对页面的最近编辑。
rsd
导出一个RSD(Really Simple Discovery)架构。
sanitize-mapdata
为Kartographer扩展执行数据验证
scribunto-console
从Scribunto控制台提供XHR请求的内部模块。
setnotificationtimestamp
更新监视页面的通知时间戳。
setpagelanguage
更改页面的语言。
smwinfo
⧼apihelp-smwinfo-summary⧽
spamblacklist
验证一个或多个URL是否触发垃圾链接黑名单。
stashedit
在分享缓存中准备编辑。
strikevote
Allows admins to strike or unstrike a vote.
tag
从个别修订或日志记录中添加或移除更改标签。
templatedata
获取由TemplateData扩展存储的数据。
thank
向一名编辑者发送感谢通知。
threadaction
允许在线程话讨论中的帖子和跟帖中执行操作。
titleblacklist
验证一个页面的标题、文件名或用户名是否触发标题黑名单。
transcodereset
持有“transcode-reset”权限的用户可以重置并重启转码任务。
unblock
解封一位用户。
undelete
恢复删除页面的修订版本。
unlinkaccount
从当前用户移除已连接的第三方账户。
upload
上传文件,或获取正在等待中的上传的状态。
userrights
更改一位用户的组成员。
validatepassword
验证密码是否符合wiki的密码方针。
watch
从当前用户的监视列表中添加或移除页面。
webapp-manifest
返回webapp证明。
wikilove
给另一用户维基有爱。
tokens
已弃用。 获取数据修改操作的令牌。
以下值中的一个:askaskargsblockbouncehandlercategorytreecentralnoticecdncacheupdatebannercentralnoticechoicedatacentralnoticequerycampaignchangeauthenticationdatachecktokenclearhasmsgclientlogincomparecreateaccountcspreportdeleteechomarkreadechomarkseenediteditmassmessagelistemailuserexpandtemplatesfeaturedfeedfeedcontributionsfeedrecentchangesfeedthreadsfeedwatchlistfilerevertflowflow-parsoid-utilsflowthankgraphhelpimagerotateimportjsonconfiglinkaccountloginlogoutmanagetagsmassmessagemergehistorymobileviewmoveopensearchoptionsparaminfoparsepatrolprotectpurgequeryremoveauthenticationdataresetpasswordrevisiondeleterollbackrsdsanitize-mapdatascribunto-consolesetnotificationtimestampsetpagelanguagesmwinfospamblackliststasheditstrikevotetagtemplatedatathankthreadactiontitleblacklisttranscoderesetunblockundeleteunlinkaccountuploaduserrightsvalidatepasswordwatchwebapp-manifestwikilovetokens
默认: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
apihighlimits
在API查询中使用更高的上限(慢查询:500;快查询:5000)。慢查询的限制也适用于多值参数。
授予:bot和sysop

数据类型

至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/。