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/alert
      • GET /api/alert/:id
      • DELETE /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/unsubscribePOST /api/session/pulse/unsubscribe/undo 已分别移动到 POST /api/pulse/unsubscribePOST /api/pulse/unsubscribe/undo

Metabase 0.50.0

  • GET /api/collection/treeGET /api/collection/:id/items 这些 API 端点将始终首先返回官方集合,然后是集合中的其他项目。

  • PUT /api/dashboard/:idPUT /api/card/:idPUT /api/collection/:id

    当设置 archivedtrue 时,仪表板、卡片或集合将自动移至“回收站”集合,这是一个保存所有已存档项目的特殊集合。

    当设置 archivedfalse 时,您可以选择性地提供 collection_id(用于仪表板或卡片)或 parent_id(用于集合)。在这种情况下,当实体从回收站移出时,它将被重新父化到指定的集合。如果未提供新的 collection_idparent_id,则实体将尽可能移回其原始位置。如果无法做到这一点(例如,原始位置也在回收站中),则会发生错误。

  • /api/metric

    /api/metric 端点已重命名为 /api/legacy-metric,以反映其未用于新版本指标的事实。新版本使用 /api/card 端点。

  • GET /api/permissions/graphPUT /api/permissions/graph

    权限图中的 data 键已移除。 data 键已被两个新键取代:view-datacreate-queriesview-data 的有效权限值为 unrestrictedblockedsandboxedrestrictedcreate-queries 的有效权限值为 query-builder-and-nativequery-builderno

    如果您正在使用脚本处理权限,则需要更新您的脚本以反映 /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-format
  • POST /api/:dashboard-id/dashcard/:dashcard-id/card/:card-id/query/:export-format
  • POST /api/dataset/:export-format
  • GET /api/embed/card/:token/query/:export-format
  • GET /api/embed/dashboard/:token/dashcard/:dashcard-id/card/:card-id/:export-format

    上述端点现在接受 format_rows 查询参数。它是一个可选的布尔参数,如果未包含在请求中,则默认为 true。当 format_rowstrue 时,导出将应用格式化,使值与在应用程序中显示的值匹配。当 format_rowsfalse 时,不应用格式化,导出将表现得与 0.49.0 之前一样。

    导出 xlsx 文件时,format_rows 的值无效。

Metabase 0.49.0

  • POST /api/cardPUT /api/card/:id

    dataset 键已弃用,并将在未来版本(最可能是 50 版)中移除。取而代之的是,我们添加了一个新键:type,它在区分模型和问题方面起着同等作用。type="model" 等同于 dataset=true,而 type="question" 等同于 dataset=false

  • 所有返回数据的端点(例如 JSON、XLSX、CSV 导出,以及以“/query”结尾的端点)

    从 v49 开始,我们将根据实例的本地化选项对 API 调用返回的值进行格式化。

阅读其他版本的 Metabase 的文档。

这有帮助吗?

感谢您的反馈!
想改进这些文档? 提出更改。
© . This site is unofficial and not affiliated with Metabase, Inc.