电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

JAVA 對(duì)接騰訊云直播的實(shí)現(xiàn)

瀏覽:9日期:2022-08-31 09:33:16

簽名授權(quán)

public static T TecentDoPostJsonV3(String url,String key,String secretId, TecentPublicParams header, String json, OkHttpClient httpClient, Class clazz) throws Exception { // ************* 步驟 1:拼接規(guī)范請(qǐng)求串 ************* String date = DateUtils.format(new Date(Long.valueOf(header.getX_TC_Timestamp() + '000')),DateUtils.FORMAT_SHORT); String service = url.substring(0,url.indexOf('.')); //截取服務(wù)類(lèi)型 云直播是live System.out.println(json); String canonicalRequest ='POSTn' + '/n' + 'n' + 'content-type:application/json; charset=utf-8n' + 'host:'+url+'n' + 'n' + 'content-type;hostn' + sha256Hex(json); System.out.println(canonicalRequest); // ************* 步驟 2:拼接待簽名字符串 ************* String credentialScope = date+ '/' + service + '/' + 'tc3_request'; String hashedCanonicalRequest = sha256Hex(canonicalRequest); String algorithm = 'TC3-HMAC-SHA256'; String stringToSign = algorithm + 'n' + header.getX_TC_Timestamp() + 'n' + credentialScope + 'n' + hashedCanonicalRequest; System.out.println(stringToSign); // ************* 步驟 3:計(jì)算簽名 ************* byte[] secretDate = hmac256(('TC3' + key).getBytes(CHARSET), date); byte[] secretService = hmac256(secretDate, service); byte[] secretSigning = hmac256(secretService, 'tc3_request'); String signature = DatatypeConverter.printHexBinary(hmac256(secretSigning, stringToSign)).toLowerCase(); System.out.println(signature); // ************* 步驟 4:拼接 Authorization ************* String authorization = algorithm + ' ' + 'Credential=' + secretId + '/' + credentialScope + ', ' + 'SignedHeaders=' + 'content-type;host' + ', ' + 'Signature=' + signature; System.out.println(authorization); header.setAuthorization(authorization); JSONObject jsonObject = (JSONObject)JSON.toJSON(header); RequestBody requestBody = RequestBody.create(CONTENT_TYPE, json); Request.Builder builder = new Request.Builder(); for (Map.Entry entry:jsonObject.entrySet()) { if(entry.getValue()==null){ continue; } builder.addHeader(String.valueOf(entry.getKey()).replaceAll('_','-'),String.valueOf(entry.getValue())); } // 用okhttp3 拼接發(fā)送請(qǐng)求 try { Response response = httpClient.newCall((builder).url('https://'+url).post(requestBody).build()).execute(); String request = response.body().string(); T t = JSON.parseObject(request, clazz); return t; } catch (IOException var8) { throw new ApiProcessException(ErrorCode.HTTP_REQUEST_ERROR, var8.getMessage()); }}public static byte[] hmac256(byte[] key, String msg) throws Exception { Mac mac = Mac.getInstance('HmacSHA256'); SecretKeySpec secretKeySpec = new SecretKeySpec(key, mac.getAlgorithm()); mac.init(secretKeySpec); return mac.doFinal(msg.getBytes(CHARSET));}

公共參數(shù)實(shí)體類(lèi)

public class TecentPublicParams { private String X_TC_Action; private String X_TC_Region; private String X_TC_Timestamp = Long.toString(System.currentTimeMillis() / 1000); private String X_TC_Version; private String Authorization; private String X_TC_Language = 'zh-CN'; private String X_TC_Token; public String getX_TC_Action() { return X_TC_Action; } public void setX_TC_Action(String x_TC_Action) { X_TC_Action = x_TC_Action; } public String getX_TC_Region() { return X_TC_Region; } public void setX_TC_Region(String x_TC_Region) { X_TC_Region = x_TC_Region; } public String getX_TC_Timestamp() { return X_TC_Timestamp; } public void setX_TC_Timestamp(String x_TC_Timestamp) { X_TC_Timestamp = x_TC_Timestamp; } public String getX_TC_Version() { return X_TC_Version; } public void setX_TC_Version(String x_TC_Version) { X_TC_Version = x_TC_Version; } public String getAuthorization() { return Authorization; } public void setAuthorization(String authorization) { Authorization = authorization; } public String getX_TC_Language() { return X_TC_Language; } public void setX_TC_Language(String x_TC_Language) { X_TC_Language = x_TC_Language; } public String getX_TC_Token() { return X_TC_Token; } public void setX_TC_Token(String x_TC_Token) { X_TC_Token = x_TC_Token; }}

調(diào)用方法

String tencentLiveApi = 'live.tencentcloudapi.com';String SECRET_KEY = '***'; //此處填寫(xiě)自己騰訊云keyString SECRET_ID = '***'; //此處填寫(xiě)自己騰訊云密匙TecentPublicParams tecentPublicParams = new TecentPublicParams();tecentPublicParams.setX_TC_Action('DescribeLiveStreamPublishedList'); //對(duì)應(yīng)方法名tecentPublicParams.setX_TC_Version('2018-08-01');TreeMap keyValues = new TreeMap(); //參數(shù)keyValues.put('DomainName','***');keyValues.put('EndTime', DateUtils.format(new Date(),'yyyy-MM-dd’T’HH:mm:ss’Z’'));keyValues.put('StartTime', DateUtils.format(DateUtils.addDay(new Date(),-30),'yyyy-MM-dd’T’HH:mm:ss’Z’'));String back ='';try { back = LiveUtils.TecentDoPostJsonV3(tencentLiveApi,SECRET_KEY,SECRET_ID,tecentPublicParams,JSON.toJSONString(keyValues),httpClient,String.class);} catch (Exception e) { e.printStackTrace();}

到此這篇關(guān)于JAVA 對(duì)接騰訊云直播的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)JAVA 騰訊云直播內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 自动记录数据电子台秤,记忆储存重量电子桌称,设定时间记录电子秤-昆山巨天 | 艺术漆十大品牌_艺术涂料加盟代理_蒙太奇艺术涂料厂家品牌|艺术漆|微水泥|硅藻泥|乳胶漆 | RV减速机-蜗轮蜗杆减速机-洗车机减速机-减速机厂家-艾思捷 | 不锈钢螺丝 - 六角螺丝厂家 - 不锈钢紧固件 - 万千紧固件--紧固件一站式采购 | 机器视觉检测系统-视觉检测系统-机器视觉系统-ccd检测系统-视觉控制器-视控一体机 -海克易邦 | 进口试验机价格-进口生物材料试验机-西安卡夫曼测控技术有限公司 | 14米地磅厂家价价格,150吨地磅厂家价格-百科 | 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | 400电话_400电话申请_888元包年_400电话办理服务中心_400VIP网 | 四合院设计_四合院装修_四合院会所设计-四合院古建设计与建造中心1 | 齿轮减速机_齿轮减速电机-VEMT蜗轮蜗杆减速机马达生产厂家瓦玛特传动瑞环机电 | 北京网络营销推广_百度SEO搜索引擎优化公司_网站排名优化_谷歌SEO - 北京卓立海创信息技术有限公司 | 真空泵维修保养,普发,阿尔卡特,荏原,卡西亚玛,莱宝,爱德华干式螺杆真空泵维修-东莞比其尔真空机电设备有限公司 | 吉祥新世纪铝塑板_生产铝塑板厂家_铝塑板生产厂家_临沂市兴达铝塑装饰材料有限公司 | CCE素质教育博览会 | CCE素博会 | 教育展 | 美育展 | 科教展 | 素质教育展 | 二手Sciex液质联用仪-岛津气质联用仪-二手安捷伦气质联用仪-上海隐智科学仪器有限公司 | 玉米加工设备,玉米深加工机械,玉米糁加工设备.玉米脱皮制糁机 华豫万通粮机 | 临时厕所租赁_玻璃钢厕所租赁_蹲式|坐式厕所出租-北京慧海通 | 湿地保护| 氧化铝球_高铝球_氧化铝研磨球-淄博誉洁陶瓷新材料有限公司 | 绿萝净除甲醛|深圳除甲醛公司|测甲醛怎么收费|培训机构|电影院|办公室|车内|室内除甲醛案例|原理|方法|价格立马咨询 | 全自动定氮仪-半自动凯氏定氮仪厂家-祎鸿仪器 | 生产加气砖设备厂家很多,杜甫机械加气砖设备价格公道 | 干洗加盟网-洗衣店品牌排行-干洗设备价格-干洗连锁加盟指南 | 哲力实业_专注汽车涂料汽车漆研发生产_汽车漆|修补油漆品牌厂家 长沙一级消防工程公司_智能化弱电_机电安装_亮化工程专业施工承包_湖南公共安全工程有限公司 | 油液红外光谱仪-油液监测系统-燃油嗅探仪-上海冉超光电科技有限公司 | 尊享蟹太太美味,大闸蟹礼卡|礼券|礼盒在线预订-蟹太太官网 | 胜为光纤光缆_光纤跳线_单模尾纤_光纤收发器_ODF光纤配线架厂家直销_北京睿创胜为科技有限公司 - 北京睿创胜为科技有限公司 | 无菌水质袋-NASCO食品无菌袋-Whirl-Pak无菌采样袋-深圳市慧普德贸易有限公司 | 刹车盘机床-刹车盘生产线-龙口亨嘉智能装备 | 骨灰存放架|骨灰盒寄存架|骨灰架厂家|智慧殡葬|公墓陵园管理系统|网上祭奠|告别厅智能化-厦门慈愿科技 | 河南不锈钢水箱_地埋水箱_镀锌板水箱_消防水箱厂家-河南联固供水设备有限公司 | 捷码低代码平台 - 3D数字孪生_大数据可视化开发平台「免费体验」 | SMC-ASCO-CKD气缸-FESTO-MAC电磁阀-上海天筹自动化设备官网 | 上海恒驭仪器有限公司-实验室平板硫化机-小型平板硫化机-全自动平板硫化机 | 点焊机-缝焊机-闪光对焊机-电阻焊设备生产厂家-上海骏腾发智能设备有限公司 | 水成膜泡沫灭火剂_氟蛋白泡沫液_河南新乡骏华消防科技厂家 | 美国查特CHART MVE液氮罐_查特杜瓦瓶_制造全球品质液氮罐 | 滁州高低温冲击试验箱厂家_安徽高低温试验箱价格|安徽希尔伯特 | 建筑消防设施检测系统检测箱-电梯**检测仪器箱-北京宇成伟业科技有限责任公司 | 包装设计公司,产品包装设计|包装制作,包装盒定制厂家-汇包装【官方网站】 |