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对接腾讯智慧校园开放平台,idea完整项目

Java对接腾讯智慧校园开放平台,idea完整项目

Java对接腾讯智慧校园开放平台报“应用未安装,请先安装应用,或联系管理员”的解决方法

Java对接腾讯智慧校园开放平台报“应用未安装,请先安装应用,或联系管理员”的解决方法

今日头条移动app广告激活数据API对接完整Java代码实现供大家参考》》》项目随记

微信公众号平台开发如何与微信后台对接