API:FAQ/zh

Category:MediaWiki action API/zh

概要

Category:Pages using deprecated NoteTA template#%20

本页面提供关於MediaWiki Action API的常见问题的一些解答。 本頁面是針對希望了解和使用MediaWiki Action API的技術貢獻者和軟體開發人員。

也请阅读API:Main page。该指南回答了这里没有提及的问题,并汇总了其他一些有用的页面。

关于 API

什么是API?

API是英文Application Programming Interface(应用程序接口)的缩写。它定义多个软件中介之间的交互。 有时,API接口允许程序请求由实现该API接口的程序执行操作。 在Mediawiki中,它指的是web-based APIs,它使用HTTP请求响应机制,返回JSON/XML结构化数据。


什么是REST API?

REST是表现层状态转换(REpresentational State Transfer)的缩写。一组指导原则或约束条件定义了"可表现层状态转换"的系统。可表现层状态转换API——或简称REST API——遵循这些原则,因此是一种更快速、更可靠、且更具拓展性的服务。

API能做什么?

請參閱一些API的使用

在哪里我可以更多地了解API?

这里有一些资源:


一般

MediaWiki Action API是什么?

MediaWiki Action API是一个 REST的全Web服务,可讓用户执行某些wiki操作,如页面创建、身份验证、解析、搜索等。

MediaWiki Action API可以用来做什么?

MediaWiki Action API可用于:

  • 访问维基功能。
  • 與維基互動。
  • 获取关於各個维基和公共使用者的元信息。

右侧边栏指向 API 支持的许多功能。此外,请参见一些使用 MediaWiki Action API 的维基媒体项目

如何使用(或调用)MediaWiki Action API?

HTTP请求通常用于调用 Action API。有关详细说明,请阅读教程

要使用行动API

什么是模块,子模块和参数?

MediaWiki Action API 有许多模块,我们用它们来执行不同的任务。用技术术语来说,模块是ApiBase的子类。模块需要参数。这些参数可能是(也可能不是)子模块。

请考虑以下请求:

在这里:

另外,参见介绍和指南 ,它描述了action=query模块的子模块。

如何知道要调用哪个模块和子模块?

MediaWiki行动API很龐大,且擴充功能又進一步擴大了它。 以下是解决API请求的几种方法:

  • 在侧边栏中,查找您希望实现的功能,并点击链接获取关于调用哪些模块的信息。
  • 自文档化API页面包含所有模块和子模块的列表,并附有简要描述。 您可以从主要模块开始,并点击链接查看不同的子模块。 (附加 recursivesubmodules=1 查看扩展版本

在哪里可以找到使用API​​模块的示例代码?

API文档 页面包含一个“示例”部分,展示了如何使用不同的模块和子模块。 [自动生成的文档]也在模块描述后附有示例。

参见Mediawiki-API-demos,获取 Python和JavaScript的代码示例。

如何控制输出格式?

默认输出格式是JSON。其他输出格式已在最新稳定版本的MediaWiki中被弃用或移除,不建议使用。

在旧版本中,您可以在查询字符串中传递&format=someformat来控制输出格式。

有關資訊,請參閱API:Data formats

我需要访问令牌吗?

您需要访问令牌才能执行登录、编辑、移动页面等修改操作。

要瞭解更多資訊,請參考API:Tokenssidebar category的'Authentication'。

如何使用API​​进行跨站点请求?

你必須使用JSONPCORS來在MediaWiki上​​进行跨站點請求。

對於更多細節,請見API:跨站點請求.

查询结果是否有限制?

是的,這取決於查詢參數。例如,對於普通用戶,針對listproperty查詢的結果數量不能超過500個。 API 頁面在「附加說明」或「限制」部分包含有關這些限制的資訊。請注意,某些模組在特定情況下會施加更嚴格的限制。

如果您不確定要設定多少的限制,並且只想結果越多越好,請將限制設為max

API调用是否有限制?

沒有具體的限制。但是,我們建議您進行適量的請求,以避免被封鎖。如果您需要發起大量請求,請事先聯絡管理員

另請參閱API:禮儀

在哪里可以获取有关MediaWiki Action API的更新?

您可以訂閱MediaWiki-API-Announce 郵件清單以取得公告和更新。

什么是Wiki dump,我如何運用它们?

維基媒體的資料是維基集合、內容、元資料、搜尋索引等的。 若要使用轉儲,請參閱使用公共

在哪里可以获得更多

如果您在MediaWiki API 文件自動產生的文件頁面中找不到答案,請隨時透過以下方式與我們聯絡。

擴充功能開發者和維基所有者

如何在擴充功能中建立API模組?

API:擴充功能將引導您完成在擴充功能中建立API模組的完整程序。

API的內部結構是什麼?

API:實作策略解釋了MediaWiki核心中API機制的實作。

如何限制API的使用?

若要限制API的使用,您可以限制使用"寫入API"、或者停用單一模組。

有關說明和範例,請參閱 API:限制API使用

錯誤和除錯

如何檢測某個錯誤?

如果遇到錯誤,API的錯誤回應會設定HTTP標頭 MediaWiki-API-Error 並傳回一個錯誤結構

這個錯誤是什麼意思?

請在標準錯誤訊息清單中尋找您的錯誤以了解錯誤的含義。

我該如何提交一個錯誤和回饋?

你可以回報錯誤和提交建議於維基媒體的任務追蹤工具,Phabricator

注意:

有關更多詳細信息,請參閱如何提報錯誤

我遇到的錯誤是否與我的 API 版本有關?

如果網站運行的是不同版本的MediaWiki,那麼它運行的API版本也會不同。某些在一個版本中支援的模組參數在其他版本中可能已被棄用(或移除)。如果使用這些參數,將會拋出例外。 API頁面會記錄所有此類棄用情況。

有關不同API版本的信息,請參閱發行說明

Category:MediaWiki action API/zh Category:Pages using deprecated NoteTA template