java开发微信公众号,验证开发者步骤
关于微信大众途径开发报价,不同的公司给出的价格不同。导致用户很难做出选择,这儿提示需求的朋友要了解一下了。如果有这方面的需求也能帮忙到自己。
这几年微信大众渠道开发比较热门,可是微信大众渠道的SDK和java的sample比较少,许多都是靠自己探索,首要进行微信公众号的开发,你有必要得有个公众号或许测验号,有了这些条件后,你能够在后台里边进行装备,验证服务器的操作。如果对我的文章有爱好,欢迎订阅我的头条号,一点热,yeehot.com1、登陆微信服务器后台,输入你的服务器地址,还有生成你的token和EncodingAESKey这儿就阐明一下,其中URL是开发者用来接纳微信服务器数据的接口URL。Token我们能够自己输入的,这个和我们的oauth 的token是一样的。EncodingAESKey由开发者手动填写或随机生成,将用作消息体加解密密钥。如下图java运用spring mvc开发微信公众号验证开发者过程2、创立一个srpingmvc的项目
这儿我就不作具体的介绍了。我之前的文章现已做了一个图文的直播了。如果需求看回之前的文章,请自行查找IntelliJ IDEA建立springmvc项目图文介绍
3、检查微信开发者的文档
依据微信大众账号的文档,里边要验证开发者这个过程,首要你需求验证URL有效性,开发者在微信后台提交上面的参数后,微信会发一个get的恳求到你的服务器URL,当然这个URL有必要是能够外网访问到的,里边包含了四个参数。
signature,用来比对我们自己本地生成的sign和这个signature是否持平的。持平就回来参数echostr。
timestamp:时刻戳
nonce:随机数
echostr:一个随机字符串
开发者经过查验signature对恳求进行校验,若承认此次GET恳求来自微信服务器,原样回来echostr参数内容,则接入收效,成为开发者成功,不然接入失利。
详情能够阅览
https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419318183&token=&lang=zh_CN4、创立一个controller
了解上面的规矩后,我们能够开发这个微信验证的controller,我们会收到四个参数,我们需求timestamp参数和nonce参数和从服务器后台装备的token 依照字母的升序进行拼接,然后运用SHA-1对字符散列,然后判别取得加密后的字符串可与signature比照,如果成功回来nonce@ResponseBody
@RequestMapping(value = "/wx/developer", method = RequestMethod.GET)public String index(HttpServletRequest request) {Map params = new HashMap();
Map requestParams = request.getParameterMap();for (Iterator iter = requestParams.keySet().iterator(); iter.hasNext();) {String name = (String) iter.next();
String[] values = (String[]) requestParams.get(name);String valueStr = "";
for (int i = 0; i < values.length; i++) {
valueStr = (i == values.length - 1) ? valueStr + values[i]
: valueStr + values[i] + ",";
}
params.put(name, valueStr);
}
String signature = request.getParameter("signature");String timestamp = request.getParameter("timestamp");String nonce = request.getParameter("nonce");String echostr = request.getParameter("echostr");String token="后台的token,自行设置";
String sign=digest(params,token);
if (sign.equals(signature))
{return echostr;
}
else {
return "";
}
}
5、将参数进行排序,
我们这儿只需求对token,timestamp,nonce进行排序,所以直接取出取得的参数和服务器的token进行排序就能够了。
public static String digest(Map params,String token) {StringBuilder result = new StringBuilder();
Listkeys = new ArrayList();
keys.add(token);
keys.add(params.get("timestamp"));
keys.add(params.get("nonce"));
Collections.sort(keys);
for (Iteratoriterator = keys.iterator(); iterator.hasNext(); ) {String key = iterator.next();
result.append(key);
}
System.out.println("sign="+result.toString());String reuslt="";
try
{MessageDigest crypt = MessageDigest.getInstance("SHA-1");crypt.reset();
crypt.update(result.toString().getBytes("UTF-8"));reuslt = byteToHex(crypt.digest());
}
catch (NoSuchAlgorithmException e)
{e.printStackTrace();
}
catch (UnsupportedEncodingException e)
{e.printStackTrace();
}
System.out.println("result="+reuslt);
return reuslt;
}
5、运用SHA-1需求变换层十六进制的字符输出
private static String byteToHex(final byte[] hash) {Formatter formatter = new Formatter();
for (byte b : hash)
{formatter.format("%02x", b);
}
String result = formatter.toString();
formatter.close();
return result;
}
6、打包程序发布到服务器,然后在后台验证一下
java运用spring mvc开发微信公众号验证开发者过程当验证成功后能够看到我们的装备信息
java运用spring mvc开发微信公众号验证开发者过程当然我们也能够本地模仿一下数据来测验一下
http://localhost:8080/wx/developer?signature=d3c933fd3ba7b7c8b3e0b2fd906b00001fbc25de×tamp=1469529446&nonce=494132107&echostr=7427120323186098047java运用spring mvc开发微信公众号验证开发者过程今日就讲到这儿
更多内容请联系新网塔专业开发人士:
新网塔致力于打造全球微信公众号开发服务产业生态圈。提供:微信公众号开发方案策划、微信公众号开发制度设计、微信公众号开发开发、官网设计、视频制作、ppt定制等一条龙无忧服务。
新网塔高端软件定制,把您的想法放心的交给我们:
1.功能完善 :
以客户的品牌架构为基准,开发高效的网站后台管理平台,为不同需求设置有效、清晰的功能结构。
2.操作方便:
简约式操作,网站整体架构以用户的良好体验进行易用性布局和交互流程设计。
3.极速运算:
运算时间以协调世界时(UTC)秒速计算,计算准确率恪守国际W3C标准和Unicode联盟标准。
4.开发时限 :
以企业整体品牌形象建设需求为基础,集合数位行业-开发工程师,时限在5-10个工作日之间。
5.开发团队 :
吸引数十位高级软件工程师,并给予每位客户最大的技术支持,保障解决客户的后顾之忧。
新网塔微信公众号开发开发优势:
功能强大灵活、模块扩展容易
流程步骤一目了然,可控性强
贴近用户需求,服务周详
软件开发周期短,费用合理
开发公司:广西新网塔科技有限公司
新网塔科技,新网塔微信公众号开发开发
企业邮箱:239756421@qq.com
手机:13307715169或13878807158
联系人:黄经理
联系电话:0771-6758061
联系传真:0771-6758061
腾讯Q Q:239756421
微信:mmm36099或 13307715169
联系地址:广西南宁市广西大学商业区明秀路百汇华庭B座5楼
公众号开发_java微信公众号设计定制_简单易操作是广西南宁新网塔科技有限公司的主要产品,我们的产品负责人是黄经理,有需要的朋友请直接拨打我的电话0771-6758061,我们的地址是广西南宁市广西大学商业区明秀路百汇华庭B座5楼,期待与您的合作!