群晖系统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往后的部分改为自己需要详细查询的接口。即可看到对应的信息

群晖 docker 停在 run npm install 群晖 docker api失败_API

*但是以上部分在实际使用操作中会发现,由于没有对API做解释。我们并不知道对应功能的接口是哪个,所以一般使用下面的方法进行接口获取*

3. 网页调试获取对应的API接口

例如:我需要通过接口去操作Docker内服务器的开启与关闭。那么我们可以通过打开 浏览器的网络,查看操作后产生的请求。由此找到对应的接口

群晖 docker 停在 run npm install 群晖 docker api失败_服务器_02


这里我们能够看到有个请求,传入了 name=“Nginx”,method=“stop”。这个时候其实是比较怀疑实际操作的请求就是这个的,那么我们查看具体的请求信息,拿到工具中模拟操作一下

群晖 docker 停在 run npm install 群晖 docker api失败_linux_03


我们可以看到请求地址为,群晖地址/webapi/entry.cgi

然后传入的参数为:

name: "Nginx"
api: SYNO.Docker.Container
method: stop
version: 1

我们在apiFox中模拟该请求

群晖 docker 停在 run npm install 群晖 docker api失败_Docker_04


我们按照以上请求参数发送,会发现无法运行

群晖 docker 停在 run npm install 群晖 docker api失败_服务器_05

原因是因为在此操作前,没有进行登陆。本机没有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服务器启动接口,执行成功

群晖 docker 停在 run npm install 群晖 docker api失败_服务器_06


以上为群晖相关服务对应接口及参数列表获取方式