共享仪表盘 API
注意
如果您正在运行 Grafana Enterprise,某些端点需要特定权限。请参阅
基于角色的访问控制权限 了解更多信息。
创建共享仪表盘
POST /api/dashboards/uid/:uid/public-dashboards/
创建一个新的共享仪表盘。
所需权限
有关说明,请参阅简介中的注意。
操作 | 范围 |
---|---|
dashboards.public:write | dashboards:uid:<dashboard UID> |
创建新共享仪表盘的请求示例:
POST /api/dashboards/uid/xCpsVuc4z/public-dashboards/ HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
"uid": "cd56d9fd-f3d4-486d-afba-a21760e2acbe",
"accessToken": "5c948bf96e6a4b13bd91975f9a2028b7",
"timeSelectionEnabled": false,
"isEnabled": true,
"annotationsEnabled": false,
"share": "public"
}
JSON 请求体 Schema
- uid – 可选。创建共享仪表盘时使用的唯一标识符。如果为
null
,将生成一个新的 uid。 - accessToken – 可选。唯一的访问令牌。如果为
null
,将生成一个新的访问令牌。 - timeSelectionEnabled – 可选。设置为
true
可在共享仪表盘中启用时间选择器。默认值为false
。 - isEnabled – 可选。设置为
true
可启用共享仪表盘。默认值为false
。 - annotationsEnabled – 可选。设置为
true
可显示标注。默认值为false
。 - share – 可选。设置分享模式。默认值为
public
。
响应示例:
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 78
{
"uid": "cd56d9fd-f3d4-486d-afba-a21760e2acbe",
"dashboardUid": "xCpsVuc4z",
"accessToken": "5c948bf96e6a4b13bd91975f9a2028b7",
"createdBy": 1,
"updatedBy": 1,
"createdAt": "2023-09-05T15:48:21-03:00",
"updatedAt": "2023-09-05T15:48:21-03:00",
"timeSelectionEnabled": false,
"isEnabled": false,
"annotationsEnabled": false,
"share": "public"
}
状态码
- 200 – 创建成功
- 400 – 错误(例如 JSON 无效、字段缺失或无效,或仪表盘已共享)
- 401 – 未授权
- 403 – 拒绝访问
- 404 – 未找到仪表盘
错误响应体将包含以下属性
HTTP/1.1 400 Bad request
Content-Type: application/json; charset=UTF-8
Content-Length: 107
{
"statusCode": 400,
"messageId": "publicdashboards.dashboardIsPublic",
"message": "Dashboard is already public"
}
更新共享仪表盘
PATCH /api/dashboards/uid/:uid/public-dashboards/:publicDashboardUid
将更新具有指定唯一标识符 (uid) 的共享仪表盘。
所需权限
有关说明,请参阅简介中的注意。
操作 | 范围 |
---|---|
dashboards.public:write | dashboards:uid:<dashboard UID> |
更新共享仪表盘的请求示例:
PATCH /api/dashboards/uid/xCpsVuc4z/public-dashboards/cd56d9fd-f3d4-486d-afba-a21760e2acbe HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
"timeSelectionEnabled": false,
"isEnabled": true,
"annotationsEnabled": false,
"share": "public"
}
JSON 请求体 Schema
- timeSelectionEnabled – 可选。设置为
true
可在共享仪表盘中启用时间选择器。默认值为false
。 - isEnabled – 可选。设置为
true
可启用共享仪表盘。默认值为false
。 - annotationsEnabled – 可选。设置为
true
可显示标注。默认值为false
。 - share – 可选。设置分享模式。默认值为
public
。
响应示例:
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 78
{
"uid": "cd56d9fd-f3d4-486d-afba-a21760e2acbe",
"dashboardUid": "xCpsVuc4z",
"accessToken": "5c948bf96e6a4b13bd91975f9a2028b7",
"createdBy": 1,
"updatedBy": 1,
"createdAt": "2023-09-05T15:48:21-03:00",
"updatedAt": "2023-09-05T15:48:21-03:00",
"timeSelectionEnabled": false,
"isEnabled": false,
"annotationsEnabled": false,
"share": "public"
}
状态码
- 200 – 更新成功
- 400 – 错误(例如 JSON 无效、字段缺失或无效)
- 401 – 未授权
- 403 – 拒绝访问
- 404 – 未找到仪表盘
错误响应体将包含以下属性
HTTP/1.1 400 Bad request
Content-Type: application/json; charset=UTF-8
Content-Length: 107
{
"statusCode": 400,
"messageId": "publicdashboards.dashboardIsPublic",
"message": "Dashboard is already public"
}
按仪表盘 uid 获取共享仪表盘
GET /api/dashboards/uid/:uid/public-dashboards/
将返回具有指定仪表盘唯一标识符 (uid) 的共享仪表盘。
所需权限
有关说明,请参阅简介中的注意。
操作 | 范围 |
---|---|
dashboards:read | dashboards:uid:<dashboard UID> |
请求示例:
GET /api/dashboards/uid/xCpsVuc4z/public-dashboards/ HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
响应示例:
HTTP/1.1 200
Content-Type: application/json
{
"uid": "e71950f3-e7dd-4d1e-aa8a-a857bc5e7d64",
"dashboardUid": "xCpsVuc4z",
"accessToken": "dab10f3a4fbb4342a602b03079c7ed64",
"createdBy": 1,
"updatedBy": 1,
"createdAt": "2023-09-05T15:48:21-03:00",
"updatedAt": "2023-09-05T15:48:21-03:00",
"timeSelectionEnabled": false,
"isEnabled": false,
"annotationsEnabled": false,
"share": "public"
}
状态码
- 200 – 找到
- 401 – 未授权
- 403 – 拒绝访问
- 404 – 未找到仪表盘
按仪表盘 uid 和共享仪表盘 uid 删除共享仪表盘
DELETE /api/dashboards/uid/:uid/public-dashboards/:publicDashboardUid
将删除具有指定唯一标识符 (uid) 的共享仪表盘。
所需权限
有关说明,请参阅简介中的注意。
操作 | 范围 |
---|---|
dashboards.public:write | dashboards:uid:<dashboard UID> |
请求示例:
DELETE /api/dashboards/uid/xCpsVuc4z/public-dashboards/cd56d9fd-f3d4-486d-afba-a21760e2acbe HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
状态码
- 200 – 删除成功
- 401 – 未授权
- 403 – 拒绝访问
获取所有共享仪表盘列表(带分页)
GET /api/dashboards/public-dashboards
所需权限
有关说明,请参阅简介中的注意。
操作 | 范围 |
---|---|
dashboards:read | dashboards:uid:<dashboard UID> |
请求示例:
GET /api/dashboards/public-dashboards?perpage=2&page=3 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
响应示例:
HTTP/1.1 200
Content-Type: application/json
{
"publicDashboards": [
{
"uid": "e9f29a3c-fcc3-4fc5-a690-ae39c97d24ba",
"accessToken": "6c13ec1997ba48c5af8c9c5079049692",
"title": "Datasource Shared Queries",
"dashboardUid": "d2f21d0a-76c7-47ec-b5f3-9dda16e5a996",
"isEnabled": true
},
{
"uid": "a174f604-6fe7-47de-97b4-48b7e401b540",
"accessToken": "d1fcff345c0f45e8a78c096c9696034a",
"title": "Datasource with template variables",
"dashboardUid": "51DiOw0Vz",
"isEnabled": true
}
],
"totalCount": 30,
"page": 3,
"perPage": 2
}