MediaWiki API 帮助

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

文档和示例: https://www.mediawiki.org/wiki/Special:MyLanguage/API:Main_page

主模块

状态: MediaWiki API 是一个成熟且稳定的接口,得到了积极的支持和改进。虽然我们尽量避免,但有时可能需要进行不兼容的更改;请订阅 mediawiki-api-announce 邮件列表 以获取更新通知。

错误请求: 当向 API 发送错误请求时,将发送一个键为“MediaWiki-API-Error”的 HTTP 标头,然后该标头的值和返回的错误代码将设置为相同的值。更多信息请参见 API:错误和警告

特定参数
action

要执行的操作。

abusefiltercheckmatch
检查滥用过滤器是否与一组变量、一次编辑或一次已记录的滥用过滤器事件匹配。
abusefilterchecksyntax
检查滥用过滤器语法的正确性。
abusefilterevalexpression
评估滥用过滤器表达式。
abusefilterunblockautopromote
解除用户因滥用过滤器后果而获得的自动晋升的封禁。
abuselogprivatedetails
查看滥用日志条目的私有详细信息。
acquiretempusername
如果启用了临时帐户创建且当前用户已注销,则获取一个临时用户名并将其存储在当前会话中。如果已存储名称,则返回相同名称。
antispoof
根据 AntiSpoof 的规范化检查检查用户名。
block
封禁用户。
centralauthtoken
获取一个 centralauthtoken 以向关联的 wiki 发出经过身份验证的请求。
centralnoticecdncacheupdatebanner
请求为匿名用户清除 CDN(前端)缓存中存储的请求横幅和语言的内容。
centralnoticechoicedata
获取选择给定项目和语言横幅所需的数据。
centralnoticequerycampaign
获取一个活动的所有配置设置。
changeauthenticationdata
更改当前用户的身份验证数据。
changecontentmodel
更改页面的内容模型。
checktoken
检查来自 action=query&meta=tokens 的 token 的有效性。
clearhasmsg
清除当前用户的 hasmsg 标志。
clientlogin
使用交互式流程登录 wiki。
communityconfigurationedit
更改社区配置中配置提供程序的内容。
compare
获取两个页面之间的差异。
createaccount
创建新用户帐户。
createlocalaccount
强制创建本地帐户。中心帐户必须存在。
delete
删除页面。
deleteglobalaccount
删除全局用户。
discussiontoolsedit
在讨论页面上发布消息。
discussiontoolsfindcomment
按 ID 或名称查找评论。
discussiontoolsgetsubscriptions
获取给定主题的订阅状态。
discussiontoolssubscribe
订阅(或取消订阅)以接收主题通知。
discussiontoolsthank
发送对评论的公开感谢通知。
echocreateevent
手动触发用户通知。
echomarkread
将当前用户的通知标记为已读。
echomarkseen
将当前用户的通知标记为已查看。
echomute
静音或取消静音特定用户或页面的通知。
edit
创建和编辑页面。
editmassmessagelist
编辑群发消息传送列表。
emailuser
向用户发送电子邮件。
expandtemplates
展开维基文本中的所有模板。
featuredfeed
返回精选内容 Feed。
feedcontributions
返回用户贡献 Feed。
feedrecentchanges
返回最近更改 Feed。
feedwatchlist
返回监视列表 Feed。
filerevert
将文件还原到旧版本。
globalblock
全局封禁或解禁用户。
globalpreferenceoverrides
更改当前用户的全局首选项的本地覆盖。
globalpreferences
更改当前用户的全局首选项。
globaluserrights
将用户添加到/从中移除全局组。
help
显示指定模块的帮助。
imagerotate
此模块已被禁用。
import
从另一个 wiki 或 XML 文件导入页面。
jsonconfig
允许直接访问 JsonConfig 子系统。
languagesearch
以任何脚本搜索语言名称。
linkaccount
将第三方提供商的帐户链接到当前用户。
login
登录并获取身份验证 cookie。
logout
注销并清除会话数据。
managetags
执行与更改标签相关的管理任务。
massmessage
向页面列表发送消息。
mergehistory
合并页面历史记录。
move
移动页面。
opensearch
使用 OpenSearch 协议搜索 wiki。
options
更改当前用户的首选项。
paraminfo
获取有关 API 模块的信息。
parse
解析内容并返回解析器输出。
patrol
巡查页面或修订版。
protect
更改页面的保护级别。
purge
清除给定标题的缓存。
query
从 MediaWiki 和关于 MediaWiki 中获取数据。
removeauthenticationdata
移除当前用户的身份验证数据。
resetpassword
向用户发送密码重置电子邮件。
revisiondelete
删除和恢复修订版。
rollback
撤销对页面的最后一次编辑。
rsd
导出 RSD(Really Simple Discovery)模式。
setglobalaccountstatus
隐藏或锁定(或显示或解锁)全局用户帐户。
setnotificationtimestamp
更新监视页面的通知时间戳。
setpagelanguage
更改页面的语言。
shortenurl
将长 URL 缩短为更短的 URL。
sitematrix
获取 Wikimedia 站点列表。
spamblacklist
根据垃圾链接列表验证一个或多个 URL。
streamconfigs
公开事件流配置。仅返回 format=json 和 formatversion=2。
strikevote
允许管理员划掉或取消划掉投票。
tag
向单个修订版或日志条目添加或删除更改标签。
templatedata
获取 TemplateData 扩展存储的数据。
thank
向编辑者发送感谢通知。
titleblacklist
根据 TitleBlacklist 验证页面标题、文件名或用户名。
torblock
检查 IP 地址是否被封禁为 Tor 出口节点。
transcodereset
拥有“transcode-reset”权限的用户可以重置并重新运行转码作业。
unblock
解封用户。
undelete
恢复已删除页面的修订版。
unlinkaccount
从当前用户处移除链接的第三方帐户。
upload
上传文件,或获取待处理上传的状态。
userrights
更改用户的组别成员身份。
validatepassword
根据 wiki 的密码策略验证密码。
watch
将页面添加到/从中移除当前用户的监视列表。
webapp-manifest
返回 webapp manifest。
webauthn
用于在注册/身份验证过程中服务器和客户端之间通信的 API 模块。
wikilove
给予其他用户 WikiLove。
bouncehandler
内部。 接收弹回的电子邮件并进行处理以处理失败的收件人。
categorytree
内部。 CategoryTree 扩展的内部模块。
chartinfo
内部。 检索 Chart 页面使用次数的当前计数。同一图表在同一页面上的多次使用被视为一次使用。
cirrus-check-sanity
内部。 报告搜索索引中页面 ID 范围的正确性。
cirrus-config-dump
内部。 CirrusSearch 配置的转储。
cirrus-mapping-dump
内部。 此 wiki 的 CirrusSearch 映射的转储。
cirrus-profiles-dump
内部。 此 wiki 的 CirrusSearch 配置文件的转储。
cirrus-settings-dump
内部。 此 wiki 的 CirrusSearch 设置的转储。
collection
内部。 用于对 wiki 用户集合执行各种操作的 API 模块。
cspreport
内部。 浏览器用于报告内容安全策略的违规行为。此模块不应被使用,除非被符合 CSP 的网络浏览器自动使用。
discussiontoolscompare
内部。 获取两个页面修订版之间评论更改的信息。
discussiontoolspageinfo
内部。 返回初始化讨论工具所需的元数据。
discussiontoolspreview
内部。 预览讨论页面上的消息。
editcheckreferenceurl
内部。 检查 URL 作为引用的状态。
fancycaptchareload
内部。 获取新的 FancyCaptcha。
jsondata
内部。 检索本地化的 JSON 数据。
jsontransform
内部。 检索由 Lua 函数转换的 JSON 数据。
oathvalidate
内部。 验证双因素身份验证 (OATH) 令牌。
parser-migration
内部。 使用两种不同的解析器配置解析页面。
readinglists
内部。 阅读列表写操作。
sanitize-mapdata
内部。 对 Kartographer 扩展执行数据验证。
scribunto-console
内部。 用于服务 Scribunto 控制台 XHR 请求的内部模块。
securepollauth
内部。 允许远程 wiki 在授予投票权之前验证用户。
stashedit
内部。 在共享缓存中准备编辑。
timedtext
内部。 为 <track> 元素的使用提供计时文本内容。
ulslocalization
内部。 获取 ULS 在给定语言的本地化。
ulssetlang
内部。 更新用户的首选界面语言。
visualeditor
内部。 从 Parsoid 服务返回页面的 HTML5。
visualeditoredit
内部。 将 HTML5 页面保存到 MediaWiki(通过 Parsoid 服务转换为 wikitext)。
wikimediaeventsblockededit
内部。 记录有关被阻止的编辑尝试的信息。
以下值之一: abusefiltercheckmatchabusefilterchecksyntaxabusefilterevalexpressionabusefilterunblockautopromoteabuselogprivatedetailsacquiretempusernameantispoofblockcentralauthtokencentralnoticecdncacheupdatebannercentralnoticechoicedatacentralnoticequerycampaignchangeauthenticationdatachangecontentmodelchecktokenclearhasmsgclientlogincommunityconfigurationeditcomparecreateaccountcreatelocalaccountdeletedeleteglobalaccountdiscussiontoolseditdiscussiontoolsfindcommentdiscussiontoolsgetsubscriptionsdiscussiontoolssubscribediscussiontoolsthankechocreateeventechomarkreadechomarkseenechomuteediteditmassmessagelistemailuserexpandtemplatesfeaturedfeedfeedcontributionsfeedrecentchangesfeedwatchlistfilerevertglobalblockglobalpreferenceoverridesglobalpreferencesglobaluserrightshelpimagerotateimportjsonconfiglanguagesearchlinkaccountloginlogoutmanagetagsmassmessagemergehistorymoveopensearchoptionsparaminfoparsepatrolprotectpurgequeryremoveauthenticationdataresetpasswordrevisiondeleterollbackrsdsetglobalaccountstatussetnotificationtimestampsetpagelanguageshortenurlsitematrixspamblackliststreamconfigsstrikevotetagtemplatedatathanktitleblacklisttorblocktranscoderesetunblockundeleteunlinkaccountuploaduserrightsvalidatepasswordwatchwebapp-manifestwebauthnwikilovebouncehandlercategorytreechartinfocirrus-check-sanitycirrus-config-dumpcirrus-mapping-dumpcirrus-profiles-dumpcirrus-settings-dumpcollectioncspreportdiscussiontoolscomparediscussiontoolspageinfodiscussiontoolsprevieweditcheckreferenceurlfancycaptchareloadjsondatajsontransformoathvalidateparser-migrationreadinglistssanitize-mapdatascribunto-consolesecurepollauthstashedittimedtextulslocalizationulssetlangvisualeditorvisualeditoreditwikimediaeventsblockededit
默认值: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,并附带消息,例如 Waiting for $host: $lag seconds lagged
有关更多信息,请参阅 Manual: Maxlag parameter

类型:integer
smaxage

s-maxage HTTP 缓存控制标头设置为此秒数。错误永远不会被缓存。

类型:integer
该值不得小于 0。
默认值:0
maxage

max-age HTTP 缓存控制标头设置为此秒数。错误永远不会被缓存。

类型:integer
该值不得小于 0。
默认值:0
assert

如果设置为 user,则验证用户是否已登录(包括可能作为临时用户);如果设置为 anon,则验证用户未登录;如果设置为 bot,则验证用户是否具有机器人用户权限。

以下值之一: anon, bot, user
assertuser

验证当前用户是否为指定用户。

类型:user,可通过用户名和临时用户识别
requestid

此处提供的任何值都将包含在响应中。可用于区分请求。

servedby

在结果中包含提供服务的宿主名称。

类型:boolean (详情
curtimestamp

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

类型:boolean (详情
responselanginfo

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

类型:boolean (详情
origin

当使用跨域 AJAX 请求(CORS)访问 API 时,请将此设置为源域。它必须包含在任何预检请求中,因此必须是请求 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,并且所有用户特定数据都将受到限制。

crossorigin

当使用跨域 AJAX 请求(CORS)访问 API 并使用防跨站请求伪造(CSRF)攻击的会话提供程序(如 OAuth)时,请使用此参数代替 origin=* 来使请求经过身份验证(即,不会被注销)。它必须包含在任何预检请求中,因此必须是请求 URI 的一部分(而不是 POST 主体)。

请注意,大多数会话提供程序,包括标准的基于 cookie 的会话,都不支持经过身份验证的 CORS,并且不能与此参数一起使用。

类型:boolean (详情
uselang

用于消息翻译的语言。 action=query&meta=siteinfo&siprop=languages 会返回语言代码列表。您可指定 user 来使用当前用户的语言偏好,或指定 content 来使用此维基的内容语言。

默认值:user
variant

语言的变体。仅在基础语言支持变体转换时才有效。

errorformat

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

plaintext
维基文本,已移除 HTML 标签并替换了实体。
wikitext
未解析的维基文本。
html
HTML。
raw
消息键和参数。
none
不输出文本,只输出错误代码。
bc
MediaWiki 1.29 之前的格式。errorlangerrorsuselocal 被忽略。
以下值之一: bc, html, none, plaintext, raw, wikitext
默认值:bc
errorlang

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

默认值:uselang
errorsuselocal

如果给定,错误文本将使用 MediaWiki 命名空间中的本地自定义消息。

类型:boolean (详情
centralauthtoken

当使用跨域 AJAX 请求 (CORS) 访问 API 时,使用此参数作为当前 SUL 用户进行身份验证。在此维基上使用 action=centralauthtoken 来检索令牌,然后再发出 CORS 请求。每个令牌只能使用一次,并在 10 秒后过期。这应包含在任何预检请求中,因此应包含在请求 URI 中(而不是 POST 主体中)。

权限
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。对于 false 值,请完全省略该参数。

expiry

到期值可以是相对的(例如 5 months2 weeks)或绝对的(例如 2014-09-18T12:34:56Z)。要设置无到期时间,请使用 infiniteindefiniteinfinitynever

timestamp

时间戳可以按多种格式指定,有关详细信息,请参阅mediawiki.org 上文档化的 Timestamp 库输入格式。建议使用 ISO 8601 日期和时间:2001-01-15T14:56:00Z。此外,字符串 now 可用于指定当前时间戳。

模板化参数

模板化参数支持 API 模块需要为某些其他参数的每个值提供值的情况。例如,如果有一个请求水果的 API 模块,它可能有参数 fruits 来指定请求哪些水果,以及一个模板化参数 {fruit}-quantity 来指定每种水果请求的数量。然后,一个想要 1 个苹果、5 个香蕉和 20 个草莓的 API 客户端可以发起类似 fruits=apples|bananas|strawberries&apples-quantity=1&bananas-quantity=5&strawberries-quantity=20 的请求。

致谢

API 开发者

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

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