MediaWiki API 說明

此頁為自動產生的 MediaWiki API 說明文件頁面。

說明文件與範例:https://www.mediawiki.org/wiki/API

主要模組

狀態資訊:本頁所展示的所有功能都應正常運作,但API仍在開發,會隨時變化。請訂閱mediawiki-api-announce 郵遞清單以便獲得更新通知。

錯誤的請求:當API收到錯誤的請求,會發出以「MediaWiki-API-Error」為鍵的HTTP標頭欄位,隨後標頭欄位的值,以及傳回的錯誤碼會設為相同值。詳細資訊請參閱API: 錯誤與警告

測試:要簡化API請求的測試過程,請見Special:ApiSandbox

參數:
action

要執行的動作。

abusefiltercheckmatch
检查防滥用过滤器是否匹配变量集,及编辑者记录的防滥用过滤器活动。
abusefilterchecksyntax
檢查一個防濫用過濾器的語法。
abusefilterevalexpression
評估防濫用過濾器的表達式。
abusefilterunblockautopromote
从由于防滥用过滤器的结果而接受的autopromotions解封用户。
aggregategroups
管理集合訊息群組。
block
封鎖用戶。
categorytree
用於 CategoryTree 擴充套件的內部模組。
changeauthenticationdata
為目前使用者變更身分核對資料。
checktoken
檢查來自 action=query&meta=tokens 的密鑰有效性。
cirrus-config-dump
匯出 CirrusSearch 設定。
cirrus-mapping-dump
匯出 CirrusSearch 於此 Wiki 的對應表。
cirrus-settings-dump
匯出 CirrusSearch 於此 Wiki 的設定。
clearhasmsg
清除目前使用者的 hasmsg 標記。
clientlogin
使用交互式流登录wiki。
compare
比較 2 個頁面間的差異。
createaccount
建立新使用者帳號。
cspreport
由浏览器使用以报告违反内容安全方针的内容。此模块应永不使用,除了在被CSP兼容的浏览器自动使用时。
delete
刪除頁面。
echomarkread
对当前用户标记通知为已读。
echomarkseen
对当前用户标记通知为已读。
edit
建立與編輯頁面。
emailuser
寄送電子郵件給使用者。
embedvideo
⧼apihelp-embedvideo-summary⧽
expandtemplates
展開所有於 wikitext 中模板。
favorite
增加或移除條目到你的最愛
feedcontributions
回傳使用者貢獻 Feed。
feedrecentchanges
返回最近變更摘要。
feedwatchlist
返回監視清單 feed。
filerevert
回退一个文件至某一旧版本。
googleplusprofileinfo
向Google+ api發送請求以找到我們有關指定使用者的一些個人資料。
groupreview
設定訊息群組的工作流狀態。
help
显示指定模块的帮助。
imagerotate
旋轉一張或多張圖片。
import
从其他wiki,或从XML文件导入页面。
languagesearch
在任何字母裡搜尋語言名稱。
linkaccount
将来自第三方提供商的账户链接至当前用户。
login
登入並取得身分核對 cookies
logout
登出並清除 session 資料。
managetags
执行有关更改标签的管理任务。
mergehistory
合併頁面歷史
mobileview
返回移动浏览需要的数据。
move
移動頁面。
oathvalidate
验证一个双因素验证(OATH)令牌。
opensearch
使用 OpenSearch 協定搜尋本 wiki。
options
更改当前用户的参数设置。
pagetriageaction
標記條目為已巡查或未巡查。
pagetriagelist
取得建立頁面分檢器佇列的頁面 ID 清單。
pagetriagestats
取得頁面分檢器的統計內容。
pagetriagetagging
添加標籤至條目裡。
pagetriagetemplate
索取由頁面分檢器應用程式使用的模板。
paraminfo
获得关于API模块的信息。
parse
解析内容并返回解析器输出。
patrol
巡查頁面或修訂。
protect
變更頁面的保護層級。
purge
為指定標題清除快取。
query
擷取來自及有關MediaWiki的數據。
removeauthenticationdata
為目前使用者移除身分核對資料。
resetpassword
向用户发送密码重置邮件。
revisiondelete
刪除和取消刪除修訂。
rollback
撤销对页面的最近编辑。
rsd
导出一个RSD(Really Simple Discovery)架构。
scribunto-console
从Scribunto控制台提供XHR请求的内部模块。
searchtranslations
搜尋翻譯。
setnotificationtimestamp
更新监视页面的通知时间戳。
setpagelanguage
更改页面的语言。
spamblacklist
验证一个或多个URL是否触发垃圾链接黑名单。
stashedit
在分享缓存中准备编辑。
tag
从个别修订或日志记录中添加或移除更改标签。
templatedata
获取由TemplateData扩展存储的数据。
titleblacklist
验证一个页面的标题、文件名或用户名是否触发标题黑名单。
translatesandbox
註冊並管理沙盒使用者。
translationaids
查詢所有翻譯協助。
translationcheck
驗證翻譯。
translationreview
標記翻譯為已審查。
translationstash
添加翻譯至暫存區。
ttmserver
從翻譯記憶查詢建議。
ulslocalization
取得指定語言的在地化 ULS。
unblock
解除封鎖一位使用者。
undelete
恢复删除页面的修订版本。
unlinkaccount
从当前用户移除已连接的第三方账户。
upload
上传文件,或获取正在等待中的上传的状态。
userrights
更改一位使用者的群組成員。
validatepassword
验证密码是否符合wiki的密码方针。
voteny
VoteNY API 模組
watch
从当前用户的监视列表中添加或移除页面。
wbavailablebadges
查询可用的徽章项。
wbcreateclaim
创建Wikibase声称。
wbcreateredirect
创建实体重定向。
wbeditentity
创建一个单独的Wikibase实体,并将其修改为序列化信息。
wbformatvalue
格式数据值。
wbgetclaims
获取Wikibase声称。
wbgetentities
获得多个Wikibase实体的数据。
wblinktitles
将两个不同wiki上的两个页面分配至一个Wikibase项中。
wbmergeitems
合并重复项。
wbparsevalue
使用ValueParser解析值。
wbremoveclaims
移除Wikibase声称。
wbremovequalifiers
从一个声称中移除一个限定符。
wbremovereferences
移除同一个声明的一个或更多参考资料。
wbsearchentities
使用标签和别名搜索实体。
wbsetaliases
设置Wikibase实体的别名。
wbsetclaim
创建或更新一个实体声明或声称。
wbsetclaimvalue
设置Wikibase声称的值。
wbsetdescription
为单一Wikibase实体设置一个描述。
wbsetlabel
为单一Wikibase实体设置一个标签。
wbsetqualifier
创建一个限定符或设置现有限定符的值。
wbsetreference
创建一个参考文献或设置现有参考文献的值。
wbsetsitelink
将wiki上的一个页面与一个Wikibase项结合,或移除一个已结合的条目。
webapp-manifest
返回webapp证明。
tokens
已停用。 取得資料修改動作的密鑰。
單值:abusefiltercheckmatchabusefilterchecksyntaxabusefilterevalexpressionabusefilterunblockautopromoteaggregategroupsblockcategorytreechangeauthenticationdatachecktokencirrus-config-dumpcirrus-mapping-dumpcirrus-settings-dumpclearhasmsgclientlogincomparecreateaccountcspreportdeleteechomarkreadechomarkseeneditemailuserembedvideoexpandtemplatesfavoritefeedcontributionsfeedrecentchangesfeedwatchlistfilerevertgoogleplusprofileinfogroupreviewhelpimagerotateimportlanguagesearchlinkaccountloginlogoutmanagetagsmergehistorymobileviewmoveoathvalidateopensearchoptionspagetriageactionpagetriagelistpagetriagestatspagetriagetaggingpagetriagetemplateparaminfoparsepatrolprotectpurgequeryremoveauthenticationdataresetpasswordrevisiondeleterollbackrsdscribunto-consolesearchtranslationssetnotificationtimestampsetpagelanguagespamblackliststashedittagtemplatedatatitleblacklisttranslatesandboxtranslationaidstranslationchecktranslationreviewtranslationstashttmserverulslocalizationunblockundeleteunlinkaccountuploaduserrightsvalidatepasswordvotenywatchwbavailablebadgeswbcreateclaimwbcreateredirectwbeditentitywbformatvaluewbgetclaimswbgetentitieswblinktitleswbmergeitemswbparsevaluewbremoveclaimswbremovequalifierswbremovereferenceswbsearchentitieswbsetaliaseswbsetclaimwbsetclaimvaluewbsetdescriptionwbsetlabelwbsetqualifierwbsetreferencewbsetsitelinkwebapp-manifesttokens
預設值: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

將HTTP緩存控制頭欄位設為s-maxage秒。錯誤不會做緩存。

类型:整数
預設值:0
maxage

將HTTP緩存控制頭欄位設為max-age秒。錯誤不會做緩存。

类型:整数
預設值: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
已授權給: 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 開發人員:

  • Roan Kattouw (首席開發者 Sep 2007–2009)
  • Victor Vasiliev
  • Bryan Tong Minh
  • Sam Reed
  • Yuri Astrakhan (創立者,首席開發者 Sep 2006–Sep 2007)
  • Brad Jorsch (首席開發者 2013–present)

請傳送您的評論、建議以及問題至 mediawiki-api@lists.wikimedia.org 或者回報問題至 https://phabricator.wikimedia.org/。