api官方文档
方法层:
@Value("${video.appKey}")
private String appKey;
@Value("${video.appSecret}")
private String appSecret;
@Override
public String getToken(String appKey, String appSecret) {
OkHttpClient client = new OkHttpClient();
RequestBody body = new FormBody.Builder()
.add("appKey", appKey)
.add("appSecret", appSecret)
.build();
Request request = new Request.Builder()
.url("https://open.ys7.com/api/lapp/token/get")
.method("POST",body)
.build();
try (Response response = client.newCall(request).execute()) {
if (response.isSuccessful()) {
String string = response.body().string();
String token = JSONUtil.parseObj(string).getJSONObject("data").getStr("accessToken");
return token;
}
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
public Result<String> getVideoUrlById(String id) {
String token = getToken(appKey, appSecret);
//获取设备编码
String deviceSerial =this.getBaseMapper().getDetailById(id).getVideoCode();
if (token==null){
return Result.error("Key expiration ,please update key");
}
OkHttpClient client = new OkHttpClient();
RequestBody body = new FormBody.Builder()
.add("accessToken", token)
.add("deviceSerial", deviceSerial)
.add("protocol","2")
.build();
Request request = new Request.Builder()
.url("https://open.ys7.com/api/lapp/v2/live/address/get")
.method("POST",body)
.build();
try (Response response = client.newCall(request).execute()) {
if (response.isSuccessful()) {
String string = response.body().string();
String code=JSONUtil.parseObj(string).getStr("code");
String msg=JSONUtil.parseObj(string).getStr("msg");
if ("200".equals(code)){
String url = JSONUtil.parseObj(string).getJSONObject("data").getStr("url");
return Result.OK("success!",url);
}
return Result.error(msg);
}
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
pom文件
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
</dependency>