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
- 更改当前用户的身份验证数据。
- checktoken
- 从action=query&meta=tokens检查令牌有效性。
- clearhasmsg
- 清除当前用户的
hasmsg
标记。 - clientlogin
- 使用交互式流登录wiki。
- compare
- 获取两页面之间的差异。
- createaccount
- 创建一个新用户账户。
- cspreport
- 由浏览器使用以报告违反内容安全方针的内容。此模块应永不使用,除了在被CSP兼容的浏览器自动使用时。
- delete
- 删除一个页面。
- edit
- 创建和编辑页面。
- emailuser
- 电子邮件联系一位用户。
- 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
- 更改页面的语言。
- stashedit
- 在分享缓存中准备编辑。
- tag
- 从个别修订或日志记录中添加或移除更改标签。
- unblock
- 解封一位用户。
- undelete
- 恢复删除页面的修订版本。
- unlinkaccount
- 从当前用户移除已连接的第三方账户。
- upload
- 上传文件,或获取正在等待中的上传的状态。
- userrights
- 更改一位用户的组成员。
- validatepassword
- 验证密码是否符合wiki的密码方针。
- watch
- 从当前用户的监视列表中添加或移除页面。
- tokens
- 已弃用。 获取数据修改操作的令牌。
- 以下值中的一个:block、changeauthenticationdata、checktoken、clearhasmsg、clientlogin、compare、createaccount、cspreport、delete、edit、emailuser、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、stashedit、tag、unblock、undelete、unlinkaccount、upload、userrights、validatepassword、watch、tokens
- 默认:help
- format
输出的格式。
- 以下值中的一个: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就验证用户是否登录,或如果设置为bot就验证是否有机器人用户权限。
- 以下值中的一个:user、bot
- assertuser
验证当前用户是命名用户。
- 类型:用户名
- requestid
任何在此提供的值将包含在响应中。可以用以区别请求。
- servedby
包含保存结果请求的主机名。
- 类型:布尔值(详细信息)
- curtimestamp
在结果中包括当前时间戳。
- 类型:布尔值(详细信息)
- responselanginfo
包含在结果中用于uselang和errorlang的语言。
- 类型:布尔值(详细信息)
- 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的内容语言。
- 默认:user
- errorformat
用于警告和错误文本输出的格式。
- plaintext
- 已移除HTML标签,并被替换实体的Wiki文本。
- wikitext
- 未解析的wiki文本。
- html
- HTML。
- raw
- 消息关键词和参数。
- none
- 无文本输出,仅包含错误代码。
- bc
- 在MediaWiki 1.29以前版本使用的格式。errorlang和errorsuselocal会被忽略。
- 以下值中的一个:plaintext、wikitext、html、raw、none、bc
- 默认:bc
- errorlang
用于警告和错误的语言。action=query&meta=siteinfo带siprop=languages返回语言代码的列表,或指定content以使用此wiki的内容语言,或指定uselang以使用与uselang参数相同的值。
- 默认:uselang
- errorsuselocal
如果指定,错误文本将使用来自MediaWiki名字空间的本地自定义消息。
- 类型:布尔值(详细信息)
- 主模块帮助。
- api.php?action=help [在沙盒中打开]
- 一个页面中的所有帮助。
- api.php?action=help&recursivesubmodules=1 [在沙盒中打开]
数据类型
至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:00(GMT、+##或-##的可选时区会被忽略)
- 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|value2或param=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/。