
# 云端抓拍设备图片
#### 功能介绍
抓拍设备图片。当需要存储时，返回图片下载URL；不需要存储时，返回图片流，考虑到设备性能，该接口目前限制单个通道10s内只能调用一次，即只能抓拍一次
注意事项：
1、接口返回的pic_url为提前预留的url（无论是否抓拍成功，都会返回），所以如果抓拍失败，通过url下载图片会失败
#### URI
GET /v1/{user_id}/devices/snap
表1路径参数 
| 参数      | 是否必选 | 参数类型   | 描述                                                                                                                                                                |
|:---|:---|:---|:---|
| user_id | 是    | String | 用户ID：由数字组成，长度范围\[15,25\]，获取方式参考[获取user ID与下载AK/SK](https://support.huaweicloud.com/api-ivm/ivm_03_0005.html#ZH-CN_TOPIC_0000001710465704__section1213543912215)章节 |
   
表2Query参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| channel_id | 是    | String | 通道ID： 好望设备：取值范围\[0,999\] 国标设备：由数字组成，长度为20个字符，由客户自行在设备侧设置，可以在web界面获取                                                                                                                                                                                                                                      |
| device_id  | 是    | String | 设备ID： 好望设备：大小写字母、数字组成，长度范围\[8,32\]，可在设备外壳或者设备web页面上获取 国标设备：由数字组成，长度为20个字符长度，由客户自行设置，其中第11-13位，必须是以下之一132（IPC）、111（DVR）、118（NVR），用来区分设备类型                                                                                                                                                               |
| storage    | 是    | String | 是否云存储标识。 枚举值： - true 当需要云存储时，接口返回图片的下载URL；  - false 无需存储时，返回图片base64编码数据。   |
   
#### 请求参数
表3请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                     |
|:---|:---|:---|:---|
| Access-Token | 是    | String | 用户认证token，[从获取用户认证token接口获取](https://support.huaweicloud.com/api-ivm/ivm_03_0002.html) |
   
#### 响应参数
**状态码： 200**
表4响应Body参数 
| 参数       | 参数类型   | 描述                                                                                                                |
|:---|:---|:---|
| pic_url  | String | 抓拍图片下载URL，当storage取值为 true 时，该字段有值。访问该图片路径，请求头需携带Access-Token。[示例 2] |
| pic_data | String | 抓拍图片base64编码对应的字符串，当storage取值为 false 时，该字段有值。                                                                     |
   
#### 请求示例
```
GET /v1/{user_id}/devices/snap?device_id=4524525423***&channel_id=0&storage=true
```
#### 响应示例
**状态码： 200**
OK
- 示例 1
  ```
  {
    "pic_url" : "// 当 storage 字段为 false 时，此字段为空串",
    "pic_data" : "AAAAgAAAAAAAAAAAAAAAgAAAAd+/G0N4rYLasJ08oixRKANqyPxtwopjAcfLZ4vrF3LjwAAAAAAAAAAAAAAsIovJNbDeBeddTigN037AAiOm67Mrvka1Ht8LGT2S8FDAySkfqvCnq+CS5BmInek3OfrSDIQDy+TUImvmwYXjpj3FkYIU+L0GkGD7C6r73YxoZ2ocChqpARrXIzlp/zKi4DpzQ47Ese4IX2zkrLgehpMhE98"
  }
  ```
  
- 示例 2
  ```
  {
    "pic_url" : "http://api-ivm.myhuaweicloud.com/v1/holo/219123456CYP***_0_210/static",
    "pic_data" : "// 当 storage 字段为 true 时，此字段为空串"
  }
  示例2中获取到的pic_url的请求示例如下
  请求
  http://api-ivm.myhuaweicloud.com/v1/holo/219123456CYP***_0_210/static
  Access-Token: xxx
  响应格式1:
  {
     "pic_data": "ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234"  // base64编码的图片
  }
  响应格式2:
  二进制编码的图片内容
  ```
  
 
#### 状态码
请参见[状态码](https://support.huaweicloud.com/api-ivm/ivm_03_0136.html)
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-ivm/ivm_03_0137.html)。
