微信公众号开发之成为开发者模式

作者: Javen205 | 来源:发表于2016-09-10 17:08 被阅读9325次

微信开发交流群:148540125

欢迎留言、转发、打赏
项目源码参考地址 点我点我--欢迎Start

项目如何导入到IDE并启动参考文章

本文将学习到:
1、如何开发调试微信公众号
2、如何开启开发者模式
3、可能遇到的问题
4、weixin_guide如何成为开发者模式源码解读

如何开发调试微信公众号

1、本地调试就需要做端口映射到外网,工具有哪些呢?
推荐ngrok、QQ浏览器
2、ngrok有哪些可以使用呢?
之前blog有总结 [让微信公众平台通过80端口访问本机,ngrok是开源的当然自己也可以使用服务器搭建一个。

3、开发调试工具
推荐使用真机测试、微信公众平台接口调试工具微信web开发者工具

如何开启开发者模式

如果项目clone导入IDE并启动、端口已经映射到外网成为开发者模式就比较简单了。
测试号申请地址以及开发文档地址WIKI
成为开发者之前需要做如下配置:

修改配置参数.png 开发者ID.png 开启开发模式.png

weixin_guide 成为开发者url默认的地址为:http://域名【/项目名】/msg

Token 需要跟修改配置参数.png中的保持一致
消息加密方式
1、正式环境建议使用安全模式,将encryptMessage设置为true ,encodingAesKey 必须跟开启开发模式.png中随机生成的EncodingAESKey 保持一致
2、如果是测试,建议设置为明文方式这样方便调试


提醒:成为开发者的链接不要使用浏览器访问(这个是针对微信公众号的;访问必定出现错误)。配置好项目之后直接启动项目并做端口映射,在测试号或者正式环境的订阅号、服务号中使用


可能遇到的问题

消息的加解密接口JCE无限制权限策略

java.security.InvalidKeyException:illegal Key Size
异常java.security.InvalidKeyException:illegal Key Size的解决方案:

在官方网站下载JCE无限制权限策略文件,下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt。如果安装了JRE,将两个jar文件放到%JRE_HOME% \lib\security目录下覆盖原来的文件,如果安装了JDK,将两个jar文件放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件。

JDK7版本JCE下载地址
JDK8版本JCE下载地址

weixin_guide如何成为开发者模式源码解读

1、如何成为开发者模式官方参考文档
2、详细介绍Java servlet版实现参考之前cnblogs博客写的文章
3、weixin_guide 成为开发者以及所有消息交互都是交个了WeixinMsgControllerWeixinMsgController 又继承自 MsgControllerAdapter 点击进去查看源码你会发现MsgControllerAdapter 是一个抽象类里面提供了很多抽象的方法(处理各种事件以及消息),MsgControllerAdapter又继承自MsgController 其中有一个index方法上面添加了一个拦截器MsgInterceptor,拦截器中就是对交互数据进行加密验证的。 重点关注一下checkSignature 方法

开发者模式拦截器 签名验证

欢迎留言、转发、打赏
项目源码参考地址 点我点我--欢迎Start

相关文章

  • 微信公众号开发 (4) 网页授权

    一、前言 微信公众号开发 (1) 微信接入认证成为开发者 微信公众号开发 (2) 消息处理 微信公众号开发 (3)...

  • 微信公众号开发 (3) 菜单处理

    一、前言 微信公众号开发 (1) 微信接入认证成为开发者 微信公众号开发 (2) 消息处理 本文将实现 根据App...

  • 关于微信应用号-未来的遐想

    我是13年初开始接触微信公众号,是最早的一批微信公众号开发者,当时的微信公众号开发者模式只有非常普通的消息接口,这...

  • 微信小程序开发实战教程(1)--持续更新

    1.成为微信公众平台开发者 成为微信公众平台的开发者,是小程序开发的首要条件。只有成为微信公众平台的开发者,才可以...

  • 小程序个人总结最佳实践

    一、开发环境 1.成为微信公众平台开发者 成为微信公众平台的开发者,是小程序开发的首要条件。只有成为微信公众平台的...

  • 微信公众号开发之成为开发者模式

    微信开发交流群:148540125 欢迎留言、转发、打赏项目源码参考地址 点我点我--欢迎Start 项目如何导入...

  • 微信接入的折磨

    大家都知道微信要想成为微信开发者,必须在微信公众号后台配置回调url,也就是开发者服务器url ,url代表开发者...

  • 常见问题

    为了帮助开发者快速熟悉微信公众号开发,我们推出了微信公众平台开发者问答系统。 进入微信公众平台开发者问答系统

  • 微信公众号的开发者模式

    微信公众号的开发者模式 开启公众号的开发者模式,有一些功能是需要自己接管的。功能:关注/取消关注的事件、自定义菜单...

  • 微信开发(基于PHP)Lesson 2

    微信官方接口分析 1.对接微信公众平台①获取API接口路径: 登录微信公众号(服务号即可)->开发者工具->开发者...

网友评论

  • cf22fd19e4ab:为什么我配置url失败,404 Action Not Found: /weixin_guide/msg?signature=f78eeeca5ca1e56c9f22a94d3f934c5b8ce0749a&echostr=4818537988667267703&timestamp=1530692147&nonce=733114117
    Javen205:@平步码界 你要确定你部署后项目首页访问路径是多少,首页路径加“/msg”就是成为开发者的url
    cf22fd19e4ab:@Javen205 是的呀,我知道,但是我就是安装您的教程来的呀,新入坑,不懂,吻喷😰
    Javen205:@平步码界 404是访问的路径不存在
  • 7586375cd648:token验证失败了?怎么弄?卡这儿好久了
    Javen205:@willing_2117 失败的原因有很多 得具体看日志分析原因 可以加群讨论
  • 7586375cd648:您好,URL的地址怎么填啊?域名项目名填什么?后面一定要msg结尾吗?
    Javen205:@willing_2117 URL怎么填博客中有说明
  • 6b02b45df58e:url配置成功了. 但是在公众号中发送消息时,后台报这个错误, 是什么原因?
    [ERROR]-[Thread: qtp1863794237-22]-[com.jfinal.core.ActionHandler.handle()]: /msg?signature=c09975afea3d17286cd16b89e8b98ce27f906b40&timestamp=1482915772&nonce=559811465&openid=oI2CzwidGumAw7NH2BY40kgx398Q
    java.lang.RuntimeException: java.lang.NullPointerException
    at com.jfinal.weixin.sdk.kit.MsgEncryptKit.decrypt(MsgEncryptKit.java:74)
    at com.jfinal.weixin.sdk.jfinal.MsgController.getInMsgXml(MsgController.java:142)
    at com.jfinal.weixin.sdk.jfinal.MsgController.index(MsgController.java:44)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.jfinal.aop.Invocation.invoke(Invocation.java:73)
    at com.jfinal.weixin.sdk.jfinal.MsgInterceptor.intercept(MsgInterceptor.java:46)
    at com.jfinal.aop.Invocation.invoke(Invocation.java:67)
    at com.jfinal.core.ActionHandler.handle(ActionHandler.java:74)
    at com.jfinal.plugin.druid.DruidStatViewHandler.handle(DruidStatViewHandler.java:75)
    at com.jfinal.core.JFinalFilter.doFilter(JFinalFilter.java:72)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1307)
    Javen205:@tigerkint 已经处理了
    tigerkint:@Javen205 群里人满了
    Javen205:@6b02b45df58e 你下载的是那个版本 可以加群114196246
  • c826695eb72d:为什么我导入、转为Maven项目之后,它没有转成标准的Maven结构,其他的项目就可以?而且pom.xml中关于alipay-sdk-java的依赖报错,也不能按照您上面的做法直接运行main方法。。。。崩溃哦
    c826695eb72d:@Javen205 OK :+1:
    Javen205:@西野子言 如果要使用支付宝支付 ,可以在项目中添加lib文件夹再添加官方下载的jar包 可以参考http://www.jianshu.com/p/7656de831a2c 由于我的疏忽忘记上传lib文件了,所以导致alipay-sdk-java的依赖报错
    Javen205:@西野子言 如果不用支付宝可以先删除支付宝配制以及代码

本文标题:微信公众号开发之成为开发者模式

本文链接:https://www.haomeiwen.com/subject/bjwyettx.html