zoukankan      html  css  js  c++  java
  • 微信公众号智能绑定功能实现(2014年10月24日 更新)

    微信公众号智能绑定功能实现(2014年10月24日 更新)

    继微信企业号公布后,腾讯改动了公众号的接入方式,在之前的基础上加入了2个表单,之前版本号的智能绑定失效了!



    在文章 微信公众号之智能绑定实现初始版本号  的基础上改动,新增腾讯这次添加的表单,本次新增的表单有:

    encoding_aeskey :EncodingAESKey(消息加解密密钥。长度43位!)

    callback_encrypt_mode: 消息加解密方式(0:明文模式、1:兼容模式、3:安全模式(推荐))


    operation_seq:此值能够不要,post參数的时候显示这个。是有规律的数字(如:202699977)!



    此处附表单截图:


    在文章 微信公众号之智能绑定实现初始版本号  的基础上改动类 SmartBindUtil.class 的setDevServiceUrl()方法。详细代码例如以下:

    /**
     * 设置开发模式,server回调
     * 
     * @param url
     * @param callback_token
     * @return
     */
    public Result<Integer> setDevServiceUrl(String url, String callback_token) {
    	Result<Integer> result = new Result<Integer>();
    	int staus = login();
    	if (staus == HttpStatus.SC_OK) {
    		isLogin = true;
    		PostMethod post = new PostMethod(DEV_SERVICE_URL + token);
    		setHeader(post);
    		NameValuePair[] params = new NameValuePair[] {
    				new NameValuePair("url", "" + url),
    				new NameValuePair("callback_token", callback_token),
    				new NameValuePair("encoding_aeskey", "aZpGSA7ctX4OfCI7ki8gJRwzw8APJJUu7ro8OHFBTw5"),
    				new NameValuePair("callback_encrypt_mode", "0"),
    				new NameValuePair("operation_seq", "202699977")};
    		post.setRequestBody(params);
    		try {
    			log.info("正在设置公众平台回调...");
    			staus = client.executeMethod(post);
    			if (staus == HttpStatus.SC_OK) {
    				log.info("server连接成功");
    				String res = post.getResponseBodyAsString();
    				// TODO............
    				System.out.println("res========" + res);
    				JSONObject retcode = JSON.parseObject(res);
    				JSONObject base_resp=retcode.getJSONObject("base_resp");
    				staus = Integer.parseInt(base_resp.getString("ret"));
    				result.setObject(Integer.parseInt(base_resp.getString("ret")));
    				result.setMsg(base_resp.getString("msg"));
    			} else {
    				result.setObject(staus);
    				result.setMsg("网络连接错误,请稍后再试");
    			}
    		} catch (Exception e) {
    			log.info(e.getMessage(), e);
    			result.setObject(staus);
    			result.setMsg("网络连接错误,请稍后再试");
    		} finally {
    			post.releaseConnection();
    		}
    	} else {
    		result.setObject(staus);
    		result.setMsg("server登陆失败,请稍后再试");
    	}
    	return result;
    }



    測试结果图:



    交流QQ群:89714226 点击链接增加群【微信企业号开发交流】:http://jq.qq.com/?_wv=1027&k=MZRJ0J

    转载注明出处。以免慘不忍睹!

    说明:如需绑定订阅号改动代码中获取appid 和 appsecret 的代码。


  • 相关阅读:
    xml基础一
    FileStream
    串口、COM口、RS232、RS485、USB区别
    DotNet知识点五
    DotNet知识点四
    DotNet知识点三
    DotNet知识点二
    day02 关键字、添加注释、标识符、常量、变量、变量的定义、变量定义注意事项、转义字符
    day01
    22_Map集合(重点)
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/6941842.html
Copyright © 2011-2022 走看看