微信公众平台二次开发手册.docx

上传人:b****2 文档编号:2166940 上传时间:2022-10-27 格式:DOCX 页数:8 大小:47.82KB
下载 相关 举报
微信公众平台二次开发手册.docx_第1页
第1页 / 共8页
微信公众平台二次开发手册.docx_第2页
第2页 / 共8页
微信公众平台二次开发手册.docx_第3页
第3页 / 共8页
微信公众平台二次开发手册.docx_第4页
第4页 / 共8页
微信公众平台二次开发手册.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

微信公众平台二次开发手册.docx

《微信公众平台二次开发手册.docx》由会员分享,可在线阅读,更多相关《微信公众平台二次开发手册.docx(8页珍藏版)》请在冰豆网上搜索。

微信公众平台二次开发手册.docx

微信公众平台二次开发手册

微信公众平台二次开发手册

微信二次开发手册

1.准备工作

1)申请微信服务号,进行微信认证;

2)成为开发者:

申请成功后,从网页上登录微信公众平台,点击“开发者中心”,输入“接收微信平台转发消息的统一URL”和“TOKEN”提交成为开发者。

(这两个参数后面还可以修改)

3)获取AppId和AppSecret:

成为开发者后,在“开发者中心中”页面,可获取AppId和AppSecret两个参数。

2.项目搭建及配置

2.1.创建一个web项目,还需将wadata-weixin.jar包添加到项目中。

Wadata-weixin.jar下载地址:

提取码:

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中配置用于接收微信消息的

2.3.

2.4.

2.5."url":

"

},

{

"type":

"view",

"name":

"视频",

"url":

"

},

{

"type":

"click",

"name":

"赞一下我们",

"key":

"V1001_GOOD"

}

]

}

]

}

说明:

button数组中存放的是一级菜单,最多存放三个一级菜单;

sub_button数组中存放的是二级菜单,最多存放的5个二级菜单;

支持两种菜单类型

click:

点击菜单将在微信中直接显示消息;

view:

点击菜单将打开微信网页;

wadata-weixin.jar包中WeiXinInterface类提供微信菜单的创建,查询,删除接口。

1、创建实例:

WeiXinInterfaceweiXinInterface=newWeiXinInterface();

2、调用获取ACCESS_TOKEN接口(此TOKEN的有效时间为7200秒,也即两个小时)

WeiXinAccessTokenweixinAccessToken=weiXinInterface.token("client_credential",Application.getWeixin_app_id(),Application.getWeixin_app_secret());

StringaccessToken=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、调用菜单创建接口,创建新的菜单

4click类型菜单开发

在自定菜单JSON文件中,click类型菜单需要配置一个与菜单对应的唯一的key。

您需要在“项目搭建及配置”一步中的PROCESSOR_PACKAGE参数指定包中创建一个实现了WeiXinProcessor接口的类,并用注解@Processor("菜单的key值")来标注在该类。

示例:

/**

*微信菜单-投诉建议

*/

@Processor("V3001_COMPLAIN")

publicclassComplainProcessorimplementsWeiXinProcessor{

@Override

publicWeiXinPacketprocess(WeiXinMessagemessage){

//菜单事件响应

returnWeiXinPacketHelper.buildTextPacket(message,MessageFormat.format(Application.getComplain(),Application.getSystem_domain(),message.getFromUserName()));

}

}

WeiXinProcessor接口说明:

该接口中只有一个方法:

publicWeiXinPacketprocess(WeiXinMessagemessage);

入参:

微信消息的封装对象,

出参:

微信响应对象,

WeiXinServlet会自动把接收到的xml消息封装成WeiXinMessage对象,并传递给菜单处理器WeiXinProcessor,WeiXinProcessor处理完业务后需要把结果封装成WeiXinPacket对象返回。

WeiXinProcessor菜单处理器中,如果需要获取微信用户的基本信息,则需要调用获取用户基本信息接口,ACCESS_TOKEN参数可调用微信菜单管理中的第2步来获取,OPENID参数可从WeiXinMessage对象中获取。

文本消息封装示例:

/**

*组装文本响应包

*/

publicstaticWeiXinPacketbuildTextPacket(WeiXinMessagemessage,Stringcontent){

WeiXinPacketpacket=newWeiXinPacket();

packet.setFromUserName(message.getToUserName());

packet.setToUserName(message.getFromUserName());

packet.setMsgType(WeiXinMsgType.TEXT.getValue());

packet.setCreateTime(Long.toString(newDate().getTime()));

packet.setContent(content);

returnpacket;

}

说明:

WeiXinMessagemessage为接收到的消息封装对象

Stringcontent为要返回的消息字符串

图文消息封装示例:

/**

*组装新闻响应包

*/

publicstaticWeiXinPacketbuildNewsPacket(WeiXinMessagemessage,Listitems){

WeiXinNewsPacketpacket=newWeiXinNewsPacket();

packet.setToUserName(message.getFromUserName());

packet.setFromUserName(message.getToUserName());

packet.setCreateTime(Long.toString(newDate().getTime()));

packet.setMsgType(WeiXinMsgType.NEWS.getValue());

packet.setArticleCount(Integer.toString(items.size()));

packet.setItems(items);

returnpacket;

}

说明:

WeiXinMessagemessage为接收到的消息封装对象。

Listitems为要返回的图文对象列表,列表中的图文对象最多为10个,否则返回不成功。

所以您需要先将图文信息封装成WeiXinItem对象。

5view类型菜单开发

View类型菜单,没有唯一的key,只有对应的菜单url。

点击view类型菜单,微信会在自带的浏览器中打开菜单的url链接。

微信网页要适应手机的屏幕大小,需要做Wap网页,也就是在网页的标签中添加以下代码:

如果进入到微信菜单页面时,需要是哪个用户进来的话,就需要调用OAuth2.0网页授权接口来获取用户的基本信息了。

6微信消息分组群发

由于微信群发接口有次数限制,因此需要把关注者先分组,再按组来群发消息。

以下为群发接口的调用说明:

1、该接口暂时仅提供给已微信认证的服务号

2、虽然开发者使用高级群发接口的每日调用限制为100次,但是用户每月只能接收4条,请小心测试

3、无论在公众平台网站上,还是使用接口群发,用户每月只能接收4条群发消息,多于4条的群发将对该用户发送失败。

4、具备微信支付权限的公众号,在使用高级群发接口上传、群发图文消息类型时,可使用标签加入外链

业务系统中要进行消息群发,需要先将微信用户与业务系统用户进行绑定,然后将接收群发消息的系统用户对应的微信用户分配到指定的组中(调用用户分组接口来进行分配)。

然后调用高级群发接口中的根据分组进行群发功能来进行群发。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1