Metabase API
官网介绍:
1、登陆并获取会话令牌
POST /api/session/
用于登陆并获取令牌
PARAMS:
-
username
value must be a non-blank string. -
password
value must be a non-blank string. -
request
示例:
请求:
curl -X POST \
-H "Content-Type: application/json" \
-d '{"username": "person@metabase.com", "password": "fakepassword"}' \
http://localhost:3000/api/session
返回:
{"id":"38f4939c-ad7f-4cbe-ae54-30946daf8593"}
2、一般方式的查询接口(需认证)
POST /api/card/:card-id/query
需要认证的访问配置的报表(question,这里叫card)
PARAMS:
-
card-id
配置的报表的ID,是数字 -
parameters
查询参数 -
ignore_cache
value may be nil, or if non-nil, value must be a boolean. -
dashboard_id
value may be nil, or if non-nil, value must be an integer greater than zero.
2.1、应用场景:
如果要修改前端页面,将metabase配置的报表,重新用自己的前端页面进行修改,那么可以使用这个API,通过自己写的前端,调用metabase提供的API获取报表查询数据结果(JSON)。
相对public的方式而言,这种加了权限验证,更加安全。(metabase的前端也是调用的这些接口)
2.2、具体示例(带查询条件):
由于Metabase不支持分页,是直接查出所有的。而在报表明细中通常会有使用分页进行展现。下面拿一个将分页作为查询条件的示例。
1)配报表
所以下面配置一个question(报表),将分页作为查询条件(平时)。
2)报表分享
然后将这个question进行分享,拿到UUID:8b630704-f23f-4745-9a81-f59d41240690