視訊監控-獲取監視器
# 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