视频监控-获取监视器
# FastWeb 视频监控-获取监视器
如果尚未了解视频监控的信息,请参阅shinobi说明。以下是Shinobi获取监视器列表的API引入说明。
- 获取所有保存的监视器信息。返回的结果为JSON集合。
http:/[API KEY]/monitor/[GROUP KEY]
1
# 1. 分析
在上述API中,API KEY
是通过Shinobi登录的API获取到的,GROUP KEY
是设置的分组的ID信息,在控制台界面可以查看。
上述API信息可通过以下方式进行设置。如尚未调用过Shinobi登录的API,则此处将无法使用,请参考视频监控-登录设置登录获取API KEY的相关信息。
点击[系统工具]
-[接口整合(API)]
,打开接口整合(API)
界面,在其中设置shinobi的RestAPI请求信息。
点击[添加]
按钮,打开添加API
界面,在其中输入API的信息。API名称与API描述部分可自行设置。

选择API供应商为Shinobi
,请求方法为GET
,URL处改写[API KEY]/monitor/[GROUP KEY]
为%s/monitor/%s
,点击[保存]
按钮。
# 2. 用法
在视频监控-登录的基础上,再增加一个TUgRestApi
与TUgButton
控件,分别命名为restMonitor
与btnMonitor
,双击restMonitor
,打开管理页面,选择视频监控-获取监视器
,点击[OK]
按钮导入此API,设置btnMonitor
的OnClick
事件与restMonitor
的ResultData
事件。以下给出示例用来提取获取到的监视器信息。详情可参考RestAPI综合运用2。
procedure btnMonitorOnClick(sender: tobject);
//获取监视器
begin
restMonitor.URL := Format(restMonitor.Url,[shinobiAuthToken,shinobiGroupKey]);
restMonitor.Send;
end;
procedure restMonitorResultData(sender: tobject;aresult: string);
//获取结果
var
vJSON: TJSONObject;
vValueList: TJSONArray;
vCount: Integer;
i: Integer;
begin
vJSON := TJSONObject.Create;
vValueList := TJSONArray.Create;
Try
vJSON := TJSONObject(vJSON.ParseJSONValue(aresult,False,False));
vValueList := TJSONArray(vJSON.ParseJSONValue(aresult,False,False));
vCount := vValueList.Size;
if vCount = 0 then exit;
for i := 0 to (vCount - 1) Do
begin
shinobiMonitorID := UGCM.GetJSONString(vJSON,'['+ IntToStr(i) + '].mid'); //获取JSON序列
shinobiMonitorList.Items.Add(shinobiMonitorID);
mmLog.Lines.Add('monitorid:'+ shinobiMonitorID);
End;
shinobiMonitorList.ItemIndex := 0;
Finally
vJSON.Free;
vValueList.Free;
End;
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34