萤石云鉴权接口,获取视频播放地址接口
This commit is contained in:
parent
e04eb732ae
commit
9011a5bd07
@ -0,0 +1,73 @@
|
||||
package com.fastbee.deviceData.api.yingshiyun.service;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import cn.hutool.http.HttpResponse;
|
||||
|
||||
import cn.hutool.json.JSONObject;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
@Service
|
||||
public class YingshiyunService {
|
||||
|
||||
@Autowired
|
||||
private StringRedisTemplate stringRedisTemplate;
|
||||
|
||||
//获取鉴权
|
||||
public String getAuth(){
|
||||
if(Boolean.TRUE.equals(stringRedisTemplate.hasKey("yingshiyun:user:accessToken"))){
|
||||
return stringRedisTemplate.opsForValue().get("yingshiyun:user:accessToken");
|
||||
}
|
||||
// 鉴权请求
|
||||
String AUTH_URL = "https://open.ys7.com/api/lapp/token/get";
|
||||
String appKey = "b21f910dc7044d668e7625a3c0392e62";
|
||||
String appSecret = "b4beff5f8f6694dd6993c8c5b618417b";
|
||||
// 构建请求体参数
|
||||
String body = StrUtil.format("appKey={}&appSecret={}", appKey, appSecret);
|
||||
HttpResponse response = HttpRequest.post(AUTH_URL)
|
||||
.body(body).execute();
|
||||
JSONObject jsonObject = JSONUtil.parseObj(response.body());
|
||||
String accessToken = JSONUtil.parseObj(jsonObject.get("data")).get("accessToken").toString();
|
||||
stringRedisTemplate.opsForValue().set("yingshiyun:user:accessToken",accessToken, 60*60*24*6);
|
||||
return accessToken;
|
||||
}
|
||||
|
||||
//获取视频播放地址
|
||||
public String getVideoPlayUrl(String deviceSerial){
|
||||
String accessToken = getAuth();
|
||||
String VIDEO_PLAY_URL = "https://open.ys7.com/api/lapp/v2/live/address/get";
|
||||
String body = StrUtil.format("accessToken={}&deviceSerial={}",accessToken ,deviceSerial );
|
||||
HttpResponse response = HttpRequest.post(VIDEO_PLAY_URL)
|
||||
.form(body).execute();
|
||||
JSONObject jsonObject = JSONUtil.parseObj(response.body());
|
||||
String videoPlayUrl = JSONUtil.parseObj(jsonObject.get("data")).get("url").toString();
|
||||
String expireTime = JSONUtil.parseObj(jsonObject.get("data")).get("expireTime").toString();
|
||||
return videoPlayUrl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
YingshiyunService yingshiyunService = new YingshiyunService();
|
||||
yingshiyunService.getAuth();
|
||||
long timeStamp = 1731571309231L;
|
||||
Date date = new Date(timeStamp);
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
|
||||
sdf.setTimeZone(java.util.TimeZone.getTimeZone("Asia/Shanghai"));
|
||||
String formattedDate = sdf.format(date);
|
||||
System.out.println(formattedDate);
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user