Java对接腾讯教育开放平台,idea完整项目
Posted 秋9
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java对接腾讯教育开放平台,idea完整项目相关的知识,希望对你有一定的参考价值。
Java对接腾讯教育开放平台,开放平台地址https://open.edu.tencent.com/document/apiDoc,对接心得分享给大家。
腾讯官方的demo地址为:
https://work.weixin.qq.com/api/doc/90001/90145/90446
腾讯官方的demo,写的比较零散,不是修改一下参数就可以运行的demo,下面把Java的完整项目分享给大家。
签名算法如下:
public String getSign(String path, TreeMap<String, Object> params, String body) {
StringBuilder data = new StringBuilder();
data.append(path);
data.append("?");
List<String> paramList = new ArrayList<>();
for (final Map.Entry<String, Object> entry : params.entrySet()) {
paramList.add(String.format("%s=%s", entry.getKey(), entry.getValue().toString()));
}
data.append(String.join("&", paramList));
data.append(body);
String signStr = data.toString();
return sign(signStr, ckey);
}
public String sign(final String data, final String key) {
try {
SecretKeySpec spec = new SecretKeySpec(key.getBytes(), "HmacSHA1");
Mac mac = Mac.getInstance("HmacSHA1");
mac.init(spec);
byte[] raw = mac.doFinal(data.getBytes(StandardCharsets.UTF_8));
return Base64.getEncoder().encodeToString(raw);
} catch (Exception e) {
}
}
调用方式:
public class Main {
private static String host = "open.edu.qcloud.com";
private static String appid = "您的appid";
private static String ckey = "你的secret";
public static void getSubjectList(String orgId) {
JmSdk jmsdk = null;
try {
jmsdk = new JmSdk(host, appid, ckey, true);
TreeMap<String, Object> params = new TreeMap<String, Object>();
params.put("OrgId", orgId);
params.put("Page", "1");
params.put("Size", "5");
try {
String rspBody = jmsdk.request(JmSdk.Service.Api, "2001168","post", "/education/GetSubjectList", params, "");
System.out.printf("rspbody: %s\\n",rspBody);
} catch (JmSdk.ServerSideException e) {
e.printStackTrace();
}
} catch (JmSdk.SdkInnerException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
getSubjectList("您的组织id");
}
}
appid和secret需要注意一下:
腾讯开放平台比较多,appid,有的叫APPID,有的叫SuiteId,大家灵活处理。
appid和secret获取截图如下:
完整项目,请见http://www.zrscsoft.com/sitepic/12133.html
以上是关于Java对接腾讯教育开放平台,idea完整项目的主要内容,如果未能解决你的问题,请参考以下文章
Java对接腾讯智慧校园开放平台报“应用未安装,请先安装应用,或联系管理员”的解决方法
Java对接腾讯智慧校园开放平台报“应用未安装,请先安装应用,或联系管理员”的解决方法