微信二次开发细则说明

发布时间:2025-03-23 点击:14
网站建设- 建站教程 - 网站定制开发 - 微信二次开发细则说明
微信二次开发有哪些细则,您知道吗?接下来就为您介绍下。
一.准备工作1)申请微信服务号,进行微信认证;2)成为开发者:申请成功后,从网页上登录微信公众平台,点击“开发者中心”,输入“接收微信平台转发消息的统一url”和“token”提交成为开发者。(这两个参数后面还可以修改)
3)获取appid和appsecret:成为开发者后,在“开发者中心中”页面,可获取appid和appsecret两个参数。
二.项目搭建及配置2.1.创建一个web项目,还需将wadata-weixin.jar包添加到项目中。wadata-weixin.jar下载地址:
http://pan.baidu.com/s/1kt27ovt提取码:6eb1 wadata-weixin.jar包提供主要两个功能:a)微信转发请求处理器weixinservlet,主要做以下事件:1接收微信转发的消息;2对消息进行封装成对象weixinmessage;3把消息对象weixinmessage转递给微信菜单处理器weixinprocessor进行业务逻辑处理,微信菜单处理器返回微信响应对象weixinpacket 4把微信响应对象weixinpacket解析成xml消息,并响应微信请求。b)微信接口统一调用类weixininterface,目前提供以下功能:(后面会按需要增加)1获取全局access_token 2创建微信菜单3查询微信菜单4删除微信菜单
2.2.在web.xml中配置用于接收微信消息的servlet weixinservlet com.wadata.weixin.base.servlet.weixinservlet processor_package com.wadata.weixin.mmp.processor weixinservlet/weixin参数说明:1)processor_package:微信公众号功能菜单的处理器的java包路径。2.3.application.properties:将准备工作中输入的token和开发都中心页面获取到的appid和appsecrets三个参数配置到properties中。
三.微信菜单管理微信菜单接口中要求第三方将自己的菜单数据以json格式提交。因此先要在项目创建一个json格式的文件,把自定义菜单配置好。按以下示例配置:
说明:button数组中存放的是一级菜单,多存放三个一级菜单;sub_button数组中存放的是二级菜单,多存放的5个二级菜单;支持两种菜单类型click:点击菜单将在微信中直接显示消息;view:点击菜单将打开微信网页;wadata-weixin.jar包中weixininterface类提供微信菜单的创建,查询,删除接口。
1、创建实例:weixininterface weixininterface=new weixininterface();
2、调用获取access_token接口(此token的有效时间为7200秒,也即两个小时)weixinaccesstoken weixinaccesstoken=weixininterface.token(client_credential,application.getweixin_app_id(),application.getweixin_app_secret());string accesstoken=weixinaccesstoken.getaccess_token();
参数说明:个参数:固定值client_credential第二个参数:application.properties配置文件中的appid第三个参数:application.properties配置文件中的appsecrets
微信菜单创建:
3、调用菜单创建接口weixininterface.menucreate(accesstoken,menujson);参数说明:个参数:第2步中获取到的access_token,如果时间超过2个小时,则需要重新进行第2步操作获取access_token第二个参数:自定义的菜单json文件的字符串返回值:true表示创建成功,否则创建失败,失败原因可通过日志查看。
微信菜单查询:
4、调用菜单查询接口weixininterface.menuquery(accesstoken);参数说明:个参数:第2步中获取到的access_token,如果时间超过2个小时,则需要重新进行第2步操作获取access_token返回值:菜单的json格式字符串
微信菜单删除
5、调用菜单删除接口weixininterface.menudelete(accesstoken);参数说明:个参数:第2步中获取到的access_token,如果时间超过2个小时,则需要重新进行第2步操作获取access_token返回值:true表示删除成功,否则删除失败,失败原因可通过日志查看。
微信菜单修改
6、先修改菜单的json文件
7、调用菜单删除接口,删除原来创建的菜单
8、调用菜单创建接口,创建新的菜单
四、click类型菜单开发在自定菜单json文件中,click类型菜单需要配置一个与菜单对应的的key。您需要在“项目搭建及配置”一步中的processor_package参数指定包中创建一个实现了weixinprocessor接口的类,并用注解processor(菜单的key值)来标注在该类。示例:/***微信菜单-投诉建议*/processor(v3001_complain)public class complainprocessor implements weixinprocessor{override public weixinpacket process(weixinmessage message){//菜单事件响应return weixinpackethelper.buildtextpacket(message,messageformat.format(application.getcomplain(),application.getsystem_domain(),message.getfromusername()));}}weixinprocessor接口说明:该接口中只有一个方法:public weixinpacket process(weixinmessage message);入参:微信消息的封装对象,出参:微信响应对象,weixinservlet会自动把接收到的xml消息封装成weixinmessage对象,并传递给菜单处理器weixinprocessor,weixinprocessor处理完业务后需要把结果封装成weixinpacket对象返回。weixinprocessor菜单处理器中,如果需要获取微信用户的基本信息,则需要调用获取用户基本信息接口,access_token参数可调用微信菜单管理中的第2步来获取,openid参数可从weixinmessage对象中获取。
文本消息封装示例:/***组装文本响应包*/public static weixinpacket buildtextpacket(weixinmessage message,string content){weixinpacket packet=new weixinpacket();packet.setfromusername(message.gettousername());packet.settousername(message.getfromusername());packet.setmsgtype(weixinmsgtype.text.getvalue());packet.setcreatetime(long.tostring(new date().gettime()));packet.setcontent(content);return packet;}说明:weixinmessage message为接收到的消息封装对象string content为要返回的消息字符串
图文消息封装示例:/***组装新闻响应包*/public static weixinpacket buildnewspacket(weixinmessage message,listitems){weixinnewspacket packet=new weixinnewspacket();packet.settousername(message.getfromusername());packet.setfromusername(message.gettousername());packet.setcreatetime(long.tostring(new date().gettime()));packet.setmsgtype(weixinmsgtype.news.getvalue());packet.setarticlecount(integer.tostring(items.size()));packet.setitems(items);return packet;}说明:weixinmessage message为接收到的消息封装对象。listitems为要返回的图文对象列表,列表中的图文对象多为10个,否则返回不成功。所以您需要先将图文信息封装成weixinitem对象。
五、view类型菜单开发view类型菜单,没有的key,只有对应的菜单url。点击view类型菜单,微信会在自带的浏览器中打开菜单的url链接。微信网页要适应手机的屏幕大小,需要做wap网页,也就是在网页的标签中添加以下代码:如果进入到微信菜单页面时,需要是哪个用户进来的话,就需要调用
oauth2.0网页授权接口来获取用户的基本信息了。
六、微信消息分组群发由于微信群发接口有次数限制,因此需要把关注者先分组,再按组来群发消息。以下为群发接口的调用说明:
1、该接口暂时仅提供给已微信认证的服务号
2、虽然开发者使用高级群发接口的每日调用限制为100次,但是用户每月只能接收4条,请小心测试
3、无论在公众平台网站上,还是使用接口群发,用户每月只能接收4条群发消息,多于4条的群发将对该用户发送失败
4、具备微信支付权限的公众号,在使用高级群发接口上传、群发图文消息类型时,可使用

北京营销型网站设计制作应该注意什么问题
营销型网站建设四项原则是?
网站建设之前需要确认哪些问题
视频网站建设自制剧产品内容融合方式
网站备案是备案域名还是空间?
怎么做好百度地市级推广
接手新的网站SEO优化工作,需要根据网站状况制定SEO执行方案
企业网站seo优化应该考虑的两个问题