群晖系统API接口调试和获取
相关文章引用
http://www.uio.cn/zh-cn/posts/synology/ 介绍了相关接口的获取方式及示例
1. 查询所有接口
群晖提供了一个地址用于查询接口信息
/webapi/query.cgi?api=SYNO.API.Info&version=1&method=query&query=all
2.查询指定接口
/webapi/query.cgi?api=SYNO.API.Info&version=1&method=query&query=此处改为对应想要查询的接口
将上方链接中 query往后的部分改为自己需要详细查询的接口。即可看到对应的信息
*但是以上部分在实际使用操作中会发现,由于没有对API做解释。我们并不知道对应功能的接口是哪个,所以一般使用下面的方法进行接口获取*
3. 网页调试获取对应的API接口
例如:我需要通过接口去操作Docker内服务器的开启与关闭。那么我们可以通过打开 浏览器的网络,查看操作后产生的请求。由此找到对应的接口
这里我们能够看到有个请求,传入了 name=“Nginx”,method=“stop”。这个时候其实是比较怀疑实际操作的请求就是这个的,那么我们查看具体的请求信息,拿到工具中模拟操作一下
我们可以看到请求地址为,群晖地址/webapi/entry.cgi
然后传入的参数为:
name: "Nginx"
api: SYNO.Docker.Container
method: stop
version: 1
我们在apiFox中模拟该请求
我们按照以上请求参数发送,会发现无法运行
原因是因为在此操作前,没有进行登陆。本机没有cookie,也可在请求中带入 _sid参数,是登陆时返回的结果
以下提供登陆接口地址及参数
GET 群晖登陆接口
GET /webapi/auth.cgi
请求参数
名称 | 位置 | 类型 | 必选 | 说明 |
api | query | string | 否 | 示例值:SYNO.API.Auth |
version | query | string | 否 | 示例值:3 |
method | query | string | 否 | 示例值:login |
account | query | string | 否 | 账号 |
passwd | query | string | 否 | 密码 |
session | query | string | 否 | 示例值:FileStation |
format | query | string | 否 | 示例值:sid |
返回结果
{
"data": {
"did": "tryty",
"sid": "23234"
},
"success": true
}
登陆后再次执行Docker服务器启动接口,执行成功
以上为群晖相关服务对应接口及参数列表获取方式