MediaWiki API 帮助
这是自动生成的MediaWiki API文档页面。
文档和例子:https://www.mediawiki.org/wiki/API:Main_page/zh
主模块
- 来源:MediaWiki
- 许可协议:GPL-2.0-or-later
状态信息:MediaWiki API是一个成熟稳定的,不断受到支持和改进的界面。尽管我们尽力避免,但偶尔也需要作出重大更新;请订阅mediawiki-api-announce 邮件列表以便获得更新通知。
错误请求:当API收到错误请求时,HTTP header将会返回一个包含"MediaWiki-API-Error"的值,随后header的值与error code将会送回并设置为相同的值。详细信息请参阅API:错误与警告。
测试中:测试API请求的易用性,请参见Special:ApiSandbox。
- action
要执行的操作。
- block
- 封禁一位用户。
- changeauthenticationdata
- 更改当前用户的身份验证数据。
- changecontentmodel
- 变更页面的内容模型
- checktoken
- 从action=query&meta=tokens检查令牌有效性。
- clearhasmsg
- 清除当前用户的
hasmsg
标记。 - clientlogin
- 使用交互式流登录wiki。
- compare
- 获取两页面之间的差异。
- createaccount
- 创建一个新用户账户。
- delete
- 删除一个页面。
- edit
- 创建和编辑页面。
- emailuser
- 电子邮件联系一位用户。
- embedvideo
- expandtemplates
- 展开wiki文本中的所有模板。
- feedcontributions
- 返回用户贡献纲要。
- feedrecentchanges
- 返回最近更改的摘要。
- feedwatchlist
- 返回监视列表纲要。
- filerevert
- 回退一个文件至某一旧版本。
- help
- 显示指定模块的帮助。
- imagerotate
- 旋转一幅或多幅图像。
- import
- 从其他wiki,或从XML文件导入页面。
- linkaccount
- 将来自第三方提供商的账户链接至当前用户。
- login
- 登录并获取身份验证cookie。
- logout
- 退出并清除会话数据。
- managetags
- 执行有关更改标签的管理任务。
- mergehistory
- 合并页面历史。
- move
- 移动一个页面。
- opensearch
- 使用开放搜索协议搜索wiki。
- options
- 更改当前用户的参数设置。
- paraminfo
- 获得关于API模块的信息。
- parse
- 解析内容并返回解析器输出。
- patrol
- 巡查页面或修订版本。
- protect
- 更改页面的保护等级。
- purge
- 为指定标题刷新缓存。
- query
- 取得来自并有关MediaWiki的数据。
- removeauthenticationdata
- 从当前用户移除身份验证数据。
- resetpassword
- 向用户发送密码重置邮件。
- revisiondelete
- 删除和恢复修订版本。
- rollback
- 撤销对页面的最近编辑。
- rsd
- 导出一个RSD(Really Simple Discovery)架构。
- setnotificationtimestamp
- 更新监视页面的通知时间戳。
- setpagelanguage
- 更改页面的语言。
- tag
- 从个别修订或日志记录中添加或移除更改标签。
- unblock
- 解封一位用户。
- undelete
- 恢复删除页面的修订版本。
- unlinkaccount
- 从当前用户移除已连接的第三方账户。
- upload
- 上传文件,或获取正在等待中的上传的状态。
- userrights
- 更改一位用户的组成员。
- validatepassword
- 验证密码是否符合wiki的密码方针。
- watch
- 从当前用户的监视列表中添加或移除页面。
- webapp-manifest
- 返回webapp证明。
- mobileview
- 已弃用。返回移动浏览需要的数据。
- tokens
- 已弃用。获取数据修改操作的令牌。
- cspreport
- Internal.由浏览器使用以报告违反内容安全方针的内容。此模块应永不使用,除了在被CSP兼容的浏览器自动使用时。
- scribunto-console
- Internal.从Scribunto控制台提供XHR请求的内部模块。
- stashedit
- Internal.在分享缓存中准备编辑。
- 以下值中的一个:block、changeauthenticationdata、changecontentmodel、checktoken、clearhasmsg、clientlogin、compare、createaccount、delete、edit、emailuser、embedvideo、expandtemplates、feedcontributions、feedrecentchanges、feedwatchlist、filerevert、help、imagerotate、import、linkaccount、login、logout、managetags、mergehistory、move、opensearch、options、paraminfo、parse、patrol、protect、purge、query、removeauthenticationdata、resetpassword、revisiondelete、rollback、rsd、setnotificationtimestamp、setpagelanguage、tag、unblock、undelete、unlinkaccount、upload、userrights、validatepassword、watch、webapp-manifest、mobileview、tokens、cspreport、scribunto-console、stashedit
- Default: help
- format
输出的格式。
- 以下值中的一个:json、jsonfm、none、php、phpfm、rawfm、xml、xmlfm
- Default: jsonfm
- maxlag
最大延迟可被用于MediaWiki安装于数据库复制集中。要保存导致更多网站复制延迟的操作,此参数可使客户端等待直到复制延迟少于指定值时。万一发生过多延迟,错误代码maxlag会返回消息,例如等待$host中:延迟$lag秒。
参见手册:Maxlag参数以获取更多信息。- Type: integer
- smaxage
设置
s-maxage
HTTP缓存控制头至这些秒。错误不会缓存。- Type: integer
- Default: 0
- maxage
设置
max-age
HTTP缓存控制头至这些秒。错误不会缓存。- Type: integer
- Default: 0
- assert
如果设置为user就验证用户已登录;如果设置为anon就验证用户未登录;如果设置为bot就验证是否有机器人用户权限。
- 以下值中的一个:anon、bot、user
- assertuser
验证当前用户是命名用户。
- 类型:通过 用户名 方式指定的用户
- requestid
任何在此提供的值将包含在响应中。可以用以区别请求。
- servedby
包含保存结果请求的主机名。
- Type: boolean (details)
- curtimestamp
在结果中包括当前时间戳。
- Type: boolean (details)
- responselanginfo
包含在结果中用于uselang和errorlang的语言。
- Type: boolean (details)
- origin
当通过跨域名AJAX请求(CORS)访问API时,设置此作为起始域名。这必须包括在任何pre-flight请求中,并因此必须是请求的URI的一部分(而不是POST正文)。
对于已验证的请求,这必须正确匹配
Origin
标头中的原点之一,因此它已经设置为像https://en.wikipedia.org或https://meta.wikimedia.org的东西。如果此参数不匹配Origin
页顶,就返回403错误响应。如果此参数匹配Origin
页顶并且起点被白名单,将设置Access-Control-Allow-Origin
和Access-Control-Allow-Credentials
开头。对于未验证的请求,会指定值*。这将导致
Access-Control-Allow-Origin
标头被设置,但Access-Control-Allow-Credentials
将为false
,且所有用户特定数据将受限制。- uselang
用于消息翻译的语言。action=query&meta=siteinfo与siprop=languages可返回语言代码列表,或指定user以使用当前用户的语言设置,或指定content以使用此wiki的内容语言。
- Default: user
- errorformat
用于警告和错误文本输出的格式。
- plaintext
- 已移除HTML标签,并被替换实体的Wiki文本。
- wikitext
- 未解析的wiki文本。
- html
- HTML。
- raw
- 消息关键词和参数。
- none
- 无文本输出,仅包含错误代码。
- bc
- 在MediaWiki 1.29以前版本使用的格式。errorlang和errorsuselocal会被忽略。
- 以下值中的一个:bc、html、none、plaintext、raw、wikitext
- Default: bc
- errorlang
用于警告和错误的语言。action=query&meta=siteinfo带siprop=languages返回语言代码的列表,或指定content以使用此wiki的内容语言,或指定uselang以使用与uselang参数相同的值。
- Default: uselang
- errorsuselocal
如果指定,错误文本将使用来自MediaWiki名字空间的本地自定义消息。
- Type: boolean (details)
- 主模块帮助。
- api.php?action=help [在沙盒中打开]
- 一个页面中的所有帮助。
- api.php?action=help&recursivesubmodules=1 [在沙盒中打开]
数据类型
Input to MediaWiki should be NFC-normalized UTF-8. MediaWiki may attempt to convert other input, but this may cause some operations (such as edits with MD5 checks) to fail.
Parameters that take multiple values are normally submitted with the values separated using the pipe character, e.g. param=value1|value2 or param=value1%7Cvalue2. If a value must contain the pipe character, use U+001F (Unit Separator) as the separator and prefix the value with U+001F, e.g. param=%1Fvalue1%1Fvalue2.
Some parameter types in API requests need further explanation:
- boolean
Boolean parameters work like HTML checkboxes: if the parameter is specified, regardless of value, it is considered true. For a false value, omit the parameter entirely.
- expiry
Expiry values be relative (e.g. 5 months or 2 weeks) or absolute (e.g. 2014-09-18T12:34:56Z). For no expiry, use infinite, indefinite, infinity or never.
- timestamp
Timestamps may be specified in several formats, see the Timestamp library input formats documented on mediawiki.org for details. ISO 8601 date and time is recommended: 2001-01-15T14:56:00Z. Additionally, the string now may be used to specify the current timestamp.
模板参数
模板参数支持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年至今的开发组领导)
请将您的评论、建议和问题发送至mediawiki-api@lists.wikimedia.org,或提交错误请求至https://phabricator.wikimedia.org/。