首页 > 代码库 > 微信公众号智能绑定功能实现(2014年10月24日 更新)

微信公众号智能绑定功能实现(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 的代码。


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