微信接口调用的学习

业务中有调用微信接口的地方,没有学习过,看着官方文档知道该如何调用了

微信公众号官方文档

需要传入appid及app_secret进行校验
在这里插入图片描述
RestTemplate 是由 Spring 提供的一个 HTTP 请求工具,在传统的项目架构中,因为不涉及到服务之间的调用,RestTemplate 的使用可能比较少,但是现在大部分项目是微服务项目

//get请求	
String url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+request.getAppId()+"&secret="+request.getAppSecret();
String resultStr = new RestTemplate().getForObject(url,String.class);

/*
	(tokenUrl, paramsMap, String.class)这三个参数分别代表 请求地址、请求参数、HTTP响应转换被转换成的对象类型。
*/
//post带请求参数
String tokenUrl="https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token="+token;
String str = restTemplate.postForObject(tokenUrl, paramsMap, String.class);

 /*编辑*/
    @Override
    public Object updateOff(WechatOfficialAccounts request) {
        //调用接口
        String url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+request.getAppId()+"&secret="+request.getAppSecret();
        String resultStr = new RestTemplate().getForObject(url,String.class);
        if (resultStr.contains("7200")){
            //判断chooseStatus是否为选中状态
            if (request.getChooseStatus().equals("1")){
                UpdateWrapper<WechatOfficialAccounts> updateWrapper = new UpdateWrapper<>();
                updateWrapper.eq("choose_status","1").set("choose_status", "0");
                wechatOfficialAccountsMapper.update(null,updateWrapper);
            }
            //执行更新方法
            wechatOfficialAccountsMapper.updateById(request);
            return WebTools.returnVal(1000,Sys.SUCCESS);
        }else {
            return WebTools.returnVal(9997,"当前所属appid及app_secret不正确,请确认后再填!");
        }
    }
 /**
     * 创建临时带参数二维码(数字)
     */
    @Override
    public Object addTemporaryQRcodeN(WechatQrcode request){
        RestTemplate restTemplate = new RestTemplate();
        //获取accessToken
        String token="48_fF173Gv3yj8Q_2D9stkSAODbz5CZQM505Soln0m3Pk5Z7Q_mVXhAHEnLpOeNT5E-zgCDyycIgr1Jok-5vP_TAJiuOsT1bKAmud7Ij5t3wApAbdtG1vljIYW7DzyC86uATyoouwagMtu3nPbOIJJjAGAOPP";
        String tokenUrl="https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token="+token;

        Map<String, Integer> intMap = new HashMap<String, Integer>();
        intMap.put("scene_id", request.getSceneId());
        Map<String, Map<String, Integer>> mapMap = new HashMap<String, Map<String, Integer>>();
        mapMap.put("scene", intMap);

        Map<String, Object> paramsMap = new HashMap<String, Object>();
        paramsMap.put("expire_seconds", request.getExpireSeconds());
        paramsMap.put("action_name", "QR_SCENE");
        paramsMap.put("action_info", mapMap);

        String str = restTemplate.postForObject(tokenUrl, paramsMap, String.class);
        JSONObject qrcode = JSONObject.parseObject(str);
        String ticket = (String)qrcode.get("ticket");

        String url="https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket="+ticket;

        request.setTicket(ticket);
        request.setUrl(url);
        log.info(String.valueOf(request));
        return wechatQrcodeMapper.insert(request);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值