API 接口的重大更改
Metabase 0.57.0
- MBQL 查询(在卡片等处)现在序列化为 MBQL 5,而不是在应用程序数据库和 REST API 响应中的 MBQL 4(也称为旧版 MBQL)。虽然我们不正式支持通过 REST API 编辑或自省 MBQL(请将其视为不透明对象),但为了支持现有用法,如果您包含查询参数
?legacy-mbql=true,则GET /api/card/:id端点可以返回卡片的dataset_query作为 MBQL 4。
Metabase 0.56.13
- 现在
/api/collection/graph端点不再返回“none”权限。组 ID 和集合 ID 之间的缺失字段表示该组不为该集合提供任何权限。例如,0.56.13 版本之前的返回结果{"revision": 2, "groups": {"1": {"root": "write", "1": "read", "2": "none"}}}变为
{"revision": 2, "groups": {"1": {"root": "write", "1": "read"}}}在 0.56.13 及更高版本中。
Metabase 0.55.0
-
POST /api/card/from-csv已重命名为POST /api/upload/csv。 -
GET /api/util/stats已重命名为GET /api/analytics/anonymous-stats。 -
GET /api/util/bug_report_details已重命名为GET /api/bug-reporting/details。 -
POST /api/util/product-feedback已重命名为POST /api/product-feedback。 -
POST /api/util/entity_id已重命名为POST /api/eid-translation/translate。 -
POST /api/util/password_check已重命名为POST /api/session/password-check。 -
GET /api/util/logs已重命名为GET /api/logger/logs。 -
GET /api/util/openapi已移除;您可以使用GET /api/docs/openapi.json代替,其功能相同。 -
GET /api/util/diagnostic_info/connection_pool_info已重命名为GET /api/bug-reporting/connection-pool-details。
Metabase 0.54.0
-
警报系统已从旧的 pulse 基础架构迁移到新的通知系统。此迁移包括以下更改
-
大部分
/api/alert端点已被移除,取而代之的是新的/api/notification端点。为保持向后兼容,这些端点将在下一个版本之前保持可用GET /api/alertGET /api/alert/:idDELETE /api/alert/:id/subscription
-
开发人员应迁移到使用
/api/notification端点。供参考- 新通知系统的概述可在
src/metabase/notification/README.md中找到 - 通知 API 文档位于
/api/docs/#tag/apinotification - 交互式 API 文档可在
/api/docs端点获取
- 新通知系统的概述可在
-
Metabase 0.53.0
-
POST /api/card/:card-id/query/:export-format以前,请求参数(parameters, pivot-results?, and format-rows?)可以通过查询参数或 application/x-www-form-urlencoded 表单内容发送。在 Metabase 0.53.0 中,参数必须作为以下方式之一发送:
- application/x-www-form-urlencoded 表单内容
- JSON 编码的请求体
不再支持在 URL 中将参数作为查询参数发送。
Metabase 0.52.0
POST /api/user/:id/send_invite已移除。-
GET /:id/fields现在包含表 ID。 - 与
/api/pulse和/api/alert相关的 API 将在未来版本中移除,因为我们正在过渡到新架构。
Metabase 0.51.0
-
GET /api/dashboard/:id/query_metadata新端点,结合了
/api/field/:id、/api/database/:id和/api/table/:id/query_metadata的响应。这应该会大大减少显示卡片所需的请求数量。 -
GET /api/card/:id/query_metadata新端点,结合了
/api/field/:id、/api/database/:id和/api/table/:id/query_metadata的响应。这应该会大大减少显示仪表板所需的请求数量。 -
/api/legacy-metric/api/legacy-metric端点已被移除。 -
POST /api/session/pulse/unsubscribe和POST /api/session/pulse/unsubscribe/undo已分别移动到POST /api/pulse/unsubscribe和POST /api/pulse/unsubscribe/undo。
Metabase 0.50.0
-
GET /api/collection/tree和GET /api/collection/:id/items这些 API 端点将始终首先返回官方集合,然后是集合中的其他项目。 -
PUT /api/dashboard/:id、PUT /api/card/:id和PUT /api/collection/:id当设置
archived为true时,仪表板、卡片或集合将自动移至“回收站”集合,这是一个保存所有已存档项目的特殊集合。当设置
archived为false时,您可以选择性地提供collection_id(用于仪表板或卡片)或parent_id(用于集合)。在这种情况下,当实体从回收站移出时,它将被重新父化到指定的集合。如果未提供新的collection_id或parent_id,则实体将尽可能移回其原始位置。如果无法做到这一点(例如,原始位置也在回收站中),则会发生错误。 -
/api/metric/api/metric端点已重命名为/api/legacy-metric,以反映其未用于新版本指标的事实。新版本使用/api/card端点。 -
GET /api/permissions/graph和PUT /api/permissions/graph权限图中的
data键已移除。data键已被两个新键取代:view-data和create-queries。view-data的有效权限值为unrestricted、blocked、sandboxed或restricted。create-queries的有效权限值为query-builder-and-native、query-builder和no。如果您正在使用脚本处理权限,则需要更新您的脚本以反映
/api/permissions/graph端点的这些重大更改。有关查看数据和创建查询的新数据权限的更多信息,请参阅我们关于数据权限的文档。这里有一页讨论了此次更改(以及我们为什么这样做)。 -
Metabase 内部已长期不使用的
GET /api/transform/:db-id/:schema/:transform-name已被移除。 -
POST /api/user/:id/send_invite已弃用,将在下一个版本中移除。
Metabase 0.49.5
注意:这些端点更改已在 0.49.3 中添加,并且 GET /api/embed/card/:token/query/:export-format 中的一个错误已在 0.49.5 中修复。
POST /api/card/:card-id/query/:export-formatPOST /api/:dashboard-id/dashcard/:dashcard-id/card/:card-id/query/:export-formatPOST /api/dataset/:export-formatGET /api/embed/card/:token/query/:export-format-
GET /api/embed/dashboard/:token/dashcard/:dashcard-id/card/:card-id/:export-format上述端点现在接受
format_rows查询参数。它是一个可选的布尔参数,如果未包含在请求中,则默认为true。当format_rows为true时,导出将应用格式化,使值与在应用程序中显示的值匹配。当format_rows为false时,不应用格式化,导出将表现得与 0.49.0 之前一样。导出 xlsx 文件时,
format_rows的值无效。
Metabase 0.49.0
-
POST /api/card和PUT /api/card/:iddataset键已弃用,并将在未来版本(最可能是 50 版)中移除。取而代之的是,我们添加了一个新键:type,它在区分模型和问题方面起着同等作用。type="model"等同于dataset=true,而type="question"等同于dataset=false。 -
所有返回数据的端点(例如 JSON、XLSX、CSV 导出,以及以“/query”结尾的端点)
从 v49 开始,我们将根据实例的本地化选项对 API 调用返回的值进行格式化。
阅读其他版本的 Metabase 的文档。