MediaWiki API 帮助

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

文档和例子:-{R|https://www.mediawiki.org/wiki/Special:MyLanguage/API:Main_page}-

主模块

状态:MediaWiki API是一个成熟稳定的接口,得到了积极的支持和改进。尽管我们尽力避免,但偶尔也需要作出重大更新;请订阅mediawiki-api-announce 邮件列表以便获得更新通知。

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

参数:
action

要执行的操作。

abusefiltercheckmatch
检查以查看滥用过滤器是否匹配某个变量集、某次编辑或某条日志记载的过滤器活动。
abusefilterchecksyntax
检查一个滥用过滤器的语法。
abusefilterevalexpression
评估滥用过滤器的表达式。
abusefilterunblockautopromote
通过解除因滥用过滤器操作生效的自动提升剥夺来解封用户。
abuselogprivatedetails
显示AbuseLog项目的私有详情。
aggregategroups
管理聚合消息组。
approve
通过核准或取消核准来复核修订。
ask
使用询问语法查询语义MediaWiki的API模块。
askargs
使用条件、打印输出和参数列表形式的询问语法查询语义MediaWiki的API模块。
block
封禁一位用户。
centralnoticecdncacheupdatebanner
在请求的横幅及语言中,请求为匿名用户刷新在CDN(前端)存储的横幅缓存
centralnoticechoicedata
对于指定项目和语言,获取选择一个横幅需要的数据
centralnoticequerycampaign
获取一则通过的所有配置设置。
changeauthenticationdata
更改当前用户的身份验证数据。
changecontentmodel
变更页面的内容模型
checktoken
action=query&meta=tokens检查令牌有效性。
ciforms-check-latest-version
check extension's latest version
clearhasmsg
清除当前用户的hasmsg标记。
clientlogin
使用交互式流登录wiki。
compare
获取两页面之间的差异。
createaccount
此模块已禁用。
delete
删除一个页面。
echomarkread
对当前用户标记通知为已读。
echomarkseen
对当前用户标记通知为已读。
echomute
将来自某些用户或页面的通知静音或取消静音。
edit
创建和编辑页面。
emailuser
电子邮件联系一位用户。
embedvideo
得到所给参数生成的视频嵌入代码。
expandtemplates
展开wikitext中的所有模板。
ext.srf.datatables.api
ext.srf.slideshow.show
feedcontributions
返回用户贡献纲要。
feedrecentchanges
返回最近更改的摘要。
feedwatchlist
返回监视列表纲要。
filerevert
回退一个文件至某一旧版本。
googletranslatesave
儲存使用 Google 翻譯所做的翻譯
groupreview
设置信息组工作流状态。
help
显示指定模块的帮助。
imagerotate
旋转一幅或多幅图像。
import
从其他wiki,或从XML文件导入页面。
jsonschema
检索一个JSON架构页面。
languagesearch
使用任何字母搜索语言名称。
linkaccount
将来自第三方提供商的账号链接至当前用户。
login
登录并获取身份验证cookie。
logout
退出并清除会话数据。
managetags
执行有关更改标签的管理任务。
mergehistory
合并页面历史。
move
移动一个页面。
opensearch
使用开放搜索协议搜索wiki。
options
更改当前用户的参数设置。
paraminfo
获得关于API模块的信息。
parse
解析内容并返回解析器输出。
patrol
巡查页面或修订版本。
pfautocomplete
页面表单扩展使用的自动完成功能。
pfautoedit
使用页面表单扩展定义的表单创建或编辑页面。
protect
更改页面的保护等级。
purge
为指定标题刷新缓存。
query
取得来自并有关MediaWiki的数据。
removeauthenticationdata
从当前用户移除身份验证数据。
resetpassword
向用户发送密码重置邮件。
revisiondelete
删除和恢复修订版本。
rollback
撤销对页面的最近编辑。
rsd
导出一个RSD(Really Simple Discovery)架构。
searchtranslations
搜索译文。
setnotificationtimestamp
更新监视页面的通知时间戳。
setpagelanguage
更改页面的语言。
smwbrowse
支持浏览语义MediaWiki内不同实体类型的活动的API模块。
smwinfo
检索语义MediaWiki有关统计信息和其他元信息的API模块。
smwtask
执行语义MediaWiki相关任务的API模块(仅供内部使用,不供公开使用)。
spamblacklist
验证一个或多个URL是否属于垃圾链接阻止列表。
tag
从个别修订或日志记录中添加或移除更改标签。
templatedata
获取由模板数据扩展存储的数据。
thank
向一名编辑者发送感谢通知。
titleblacklist
验证一个页面的标题、文件名或用户名是否触发标题黑名单。
transcodereset
持有“transcode-reset”权限的用户可以重置并重启转码任务。
translationaids
查询所有翻译帮助。
translationreview
标记该翻译为已复核。
translationstats
取得翻譯統計
ttmserver
从翻译记忆库查询建议。
unblock
解封一位用户。
undelete
取消删除页面的修订版本。
unlinkaccount
从当前用户移除已链接的第三方账号。
upload
上传文件,或获取正在等待中的上传的状态。
userrights
更改一位用户的组成员。
validatepassword
验证密码是否符合wiki的密码方针。
veforall-parsoid-utils
反复将文本从Wikitext转换为HTML
watch
从当前用户的监视列表中添加或移除页面。
webapp-manifest
返回webapp证明。
wikilove
给另一用户维基有爱。
browsebyproperty
已弃用。检索属性或属性列表有关信息的API模块。
browsebysubject
已弃用。检索主体有关信息的API模块。
categorytree
内部的。用于CategoryTree扩展的内部模块。
cspreport
内部的。由浏览器使用以报告违反内容安全方针的内容。此模块应永不使用,除了在被CSP兼容的浏览器自动使用时。
discussiontoolscompare
内部的。取得兩個頁面修訂之間關於留言更改的資訊。
discussiontoolsedit
内部的。在讨论页面上发布消息。
discussiontoolsgetsubscriptions
内部的。获取所提供话题的订阅状态
discussiontoolspageinfo
内部的。返回初始化讨论工具所需的元数据。
discussiontoolspreview
内部的。在討論頁上預覽訊息。
discussiontoolssubscribe
内部的。订阅(或取消订阅)以接收(或不接收)有关话题的通知。
managegroupsynchronizationcache
内部的。訊息群組同步快取。
managemessagegroups
内部的。在群組匯入期間,以新訊息或是現有訊息重新命名來添加
oathvalidate
内部的。验证一个双因素验证(OATH)令牌。
record-lint
内部的。在数据库中记录lint错误
scribunto-console
内部的。从Scribunto控制台提供XHR请求的内部模块。
stashedit
内部的。在分享缓存中准备编辑。
timedtext
内部的。提供被音轨元素所使用的字幕
translationcheck
内部的。验证翻译。
translationentitysearch
内部的。搜索消息组和消息
ulslocalization
内部的。获取指定语言的ULS本地化。
ulssetlang
内部的。更新用户的首选界面语言。
visualeditor
内部的。从Parsoid服务返回页面的HTML5。
visualeditoredit
内部的。保存一个HTML5页面至MediaWiki(通过Parsoid服务转换为wikitext)。
以下值中的一个:abusefiltercheckmatch、​abusefilterchecksyntax、​abusefilterevalexpression、​abusefilterunblockautopromote、​abuselogprivatedetails、​aggregategroups、​approve、​ask、​askargs、​block、​centralnoticecdncacheupdatebanner、​centralnoticechoicedata、​centralnoticequerycampaign、​changeauthenticationdata、​changecontentmodel、​checktoken、​ciforms-check-latest-version、​clearhasmsg、​clientlogin、​compare、​createaccount、​delete、​echomarkread、​echomarkseen、​echomute、​edit、​emailuser、​embedvideo、​expandtemplates、​ext.srf.datatables.api、​ext.srf.slideshow.show、​feedcontributions、​feedrecentchanges、​feedwatchlist、​filerevert、​googletranslatesave、​groupreview、​help、​imagerotate、​import、​jsonschema、​languagesearch、​linkaccount、​login、​logout、​managetags、​mergehistory、​move、​opensearch、​options、​paraminfo、​parse、​patrol、​pfautocomplete、​pfautoedit、​protect、​purge、​query、​removeauthenticationdata、​resetpassword、​revisiondelete、​rollback、​rsd、​searchtranslations、​setnotificationtimestamp、​setpagelanguage、​smwbrowse、​smwinfo、​smwtask、​spamblacklist、​tag、​templatedata、​thank、​titleblacklist、​transcodereset、​translationaids、​translationreview、​translationstats、​ttmserver、​unblock、​undelete、​unlinkaccount、​upload、​userrights、​validatepassword、​veforall-parsoid-utils、​watch、​webapp-manifest、​wikilove、​browsebyproperty、​browsebysubject、​categorytree、​cspreport、​discussiontoolscompare、​discussiontoolsedit、​discussiontoolsgetsubscriptions、​discussiontoolspageinfo、​discussiontoolspreview、​discussiontoolssubscribe、​managegroupsynchronizationcache、​managemessagegroups、​oathvalidate、​record-lint、​scribunto-console、​stashedit、​timedtext、​translationcheck、​translationentitysearch、​ulslocalization、​ulssetlang、​visualeditor、​visualeditoredit
默认:help
format

输出的格式。

json
输出数据为JSON格式。
jsonfm
输出数据为JSON格式(使用HTML格式显示)。
none
不输出任何东西。
php
输出数据为序列化PHP格式。
phpfm
输出数据为序列化PHP格式(使用HTML格式显示)。
rawfm
输出数据为JSON格式,包含调试元素(使用HTML格式显示)。
xml
输出数据为XML格式。
xmlfm
输出数据为XML格式(使用HTML格式显示)。
以下值中的一个:json、​jsonfm、​none、​php、​phpfm、​rawfm、​xml、​xmlfm
默认:jsonfm
maxlag

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

类型:整数
smaxage

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

类型:整数
默认:0
maxage

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

类型:整数
默认:0
assert

如果设置为user就验证用户已登录;如果设置为anon就验证用户未登录;如果设置为bot就验证是否有机器人用户权限。

以下值中的一个:anon、​bot、​user
assertuser

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

类型:通过 用户名 方式指定的用户
requestid

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

servedby

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

类型:布尔型 (详情)
curtimestamp

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

类型:布尔型 (详情)
responselanginfo

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

类型:布尔型 (详情)
origin

使用跨域AJAX请求(CORS)访问API时,请将其设置为原始域。这必须包括在任何pre-flight请求中,因此必须是请求URI(而不是POST正文)的一部分。

对于已验证的请求,这必须正确匹配Origin标头中的原点之一,因此必须将其设置为类似-{R|https://zh.wikipedia.org}--{R|https://meta.wikimedia.org}-的东西。如果此参数不匹配Origin页顶,就返回403错误响应。如果此参数与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
variant

语言变种。仅当基础语言支持变种转换时起作用。

errorformat

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

plaintext
包括HTML标签的wikitext被移除并且实体被替换。
wikitext
未解析的wikitext。
html
HTML
raw
消息的键和参数。
none
没有文本输出,仅有错误代码。
bc
MediaWiki 1.29之前使用的格式。errorlangerrorsuselocal会被忽略。
以下值中的一个:bc、​html、​none、​plaintext、​raw、​wikitext
默认: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检查)失败。

采用多个值的参数通常与使用管道字符分隔的值一起提交,例如param=value1|value2param=value1%7Cvalue2。如果值必须包含竖线字符,请使用U+001F(单位分隔符)作为分隔符 并且 用U+001F作为该值的前缀,例如param=%1Fvalue1%1Fvalue2

API请求中的一些参数类型需要进一步说明:

boolean

布尔参数的工作方式类似于HTML复选框:如果指定了参数,无论值如何,它都被认为是true。对于假值,完全省略参数。

expiry

到期值可能是相对的(例如5个月2周)或绝对值(例如2014-09-18T12:34:56Z)。如果没有截止如期,请使用infiniteinfiniteinfinitynever

timestamp

时间戳可以用多种格式指定,详情参见mediawiki.org上记录的时间戳库输入格式。建议使用ISO 8601日期和时间:2001-01-15T14: 56:00Z。此外,字符串now可用于指定当前时间戳。

模板参数

模板参数支持API模块需要为每个其他参数赋值的情况。例如如果有API模块请求水果,它会有参数水果指定请求的水果,以及模板参数{水果}-数量以指定每种水果请求多少。需要1个苹果、5个香蕉和20个草莓的API客户端可以做出类似水果=苹果|香蕉|草莓&苹果-数量=1&香蕉-数量=5&草莓-数量=20的请求。

制作人员

API 开发人员:

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

请将您的评论、建议和问题发送至[email protected],或提交错误请求至https://phabricator.wikimedia.org/。