微信公众号开发者模式工作的开发
- 开发者模式的开启
- 进入到公众号管理平台——开发——基本配置,对服务器配置进行服务的开启
- 服务器的地址url为:http://127.0.0.1:8080/myproject/WeChatServer
- 令牌(token)的设置与程序配置文件中的token设置字符相同:
配置文件prop.properties——wechat_server_token=845C2550903CE6FA54CACDB82EAD4351
2.服务器接收微信消息
- 消息密钥随机获取即可,消息加密方式选择明文模式。
- 微信服务器会以get方式调用我们部署在sae服务器上的servlet,并传signature、timestamp、nonce、echostr四个参数。其中signature是微信加密签名;timestamp是时间戳,防止即使有别有用心之人获得另外的参数而因时间戳的不一致无法完成验证;nonce是随机数;echostr是随机字符串,用于返回给微信服务器作比较。
- servlet接收到以上数据后,会将token(在servlet中写好且要用公众平台上开发者中心的token相同)timestamp、nonce按字典方式排序,再拼接成字符串进行sha1加密将加密后的字符串与signature比较,如果相同就返回echostr。
- 微信服务器接收到返回的echostr,与发过去的echostr相比较,如果相同,就接入成功,否则失败。
- 处理后响应给微信的数据格式为xml格式的字符串,具体的返回xml格式可参考开发者文档说明。
- 假如服务器无法保证在五秒内处理回复,则必须回复“success”或者“”(空串),否则微信后台会发起三次重试。流程图如下:
- 微信公众号菜单设置
- 开发者工具——在线接口调试工具,填写appid、secret获取access_token
- 创建微信自定义菜单(如果没有生效,可取关后重新关注即可看见)
自定义菜单请求json格式示例:
{
"button":[
{
"name": "在线开户",
"sub_button": [
{
"type": "view",
"name": "极速开户",
"url": "网页链接"
},
{
"type": "view",
"name": "APP下载",
"url": "网页链接"
}
]
},
{
"name": "尊嘉福利",
"sub_button": [
{
"type": "view",
"name": "入金有奖",
"url": "网页链接"
},
{
"type": "view",
"name": "邀请有奖",
"url": "网页链接"
},
{
"type": "view",
"name": "招募合伙人",
"url": "网页链接"
},
{
"type": "view",
"name": "领取奖励",
"url": "网页链接"
}
]
},
{
"name":"服务直达",
"sub_button":[
{
"type": "view",
"name": "在线客服",
"url": "网页链接"
},
{
"type": "view",
"name": "常见问题",
"url": "网页链接"
},
{
"type": "view",
"name": "实时资讯",
"url": "网页链接"
},
{
"type": "view",
"name": "账户绑定&解绑",
"url": "网页链接"
}
]
}
]
}
- 注意事项
- 尽量使用流返回,response的getWriter().print(xmlStr)返回,不要使用return String;的方式返回,容易携带些不知名的信息。
- 返回的xml数据格式一定要正确,尤其是<![CDATA 和 ]]> 这不是多个符号,而是两个符号,所以中间不要有空格,不然你是无法把字符串转XML的,返回的时候也会报错。
- 参数问题,回复消息的参数,发送人与接收人不要弄反。
微信公众号开发者模式工作的开发相关推荐
- 微信公众号基本设置服务器设置教程,最新最全的微信公众号开发者模式配置
微信公众号的开发分为编辑模式和开发者模式,那么最新最全的微信公众号开发者模式配置是什么呢,下面是学习啦小编收集整理的最新最全的微信公众号开发者模式配置,希望对大家有帮助~~ 最新最全的微信公众号开发者 ...
- 微信开发者模式php,php 开启微信公众号开发者模式
php 开启微信公众号开发者模式 /** * wechat php test */ header('Content-type:text'); //define your token //定义TOKEN ...
- 微信开发者模式php,PHP实现模拟微信公众号开发者模式
本文主要和大家分享PHP实现模拟微信公众号开发者模式,主要以代码的形式和大家分享,希望能帮助到大家.$url = 'http://xxxx.com/test/aaaa/index.php';//开发者 ...
- 用spring搭建微信公众号开发者模式下服务器处理用户消息的加密传输构架(java)
要搭建加密传输的微信公众号消息传输,首先要在开发这平台下载一下微信加密的相关jar包,并做一些准备.准备的步骤如下: 1.打开开发者文档,找到消息加减密--->接入指引,如下图所示: 2.在页面 ...
- java调用微信加密_用spring搭建微信公众号开发者模式下服务器处理用户消息的加密传输构架(java)...
要搭建加密传输的微信公众号消息传输,首先要在开发这平台下载一下微信加密的相关jar包,并做一些准备.准备的步骤如下: 1.打开开发者文档,找到消息加减密--->接入指引,如下图所示: 2.在页面 ...
- 微信公众号开发者模式回复信息带表情(QQ,emoji)
最近做微信公众号的迭代 老板非要发送消息带表情 我调研了网上的各种方法 各种开源代码和项目经验 没一个能用的- o(╥﹏╥)o emoji 下面是整个流程 首先,我自己测试,先往公众号发表情,后台去接 ...
- 微信公众号开发者模式菜单不更新的问题
这个问题困扰了我好几天,度娘到的都是24小时内,然而到了24小时并没有什么卵用. 开发者模式下,后台的菜单信息更新后,微信服务器并没有来拉取菜单数据,所以我们自己动手让它来拉取菜单信息. 官方debu ...
- 开启微信公众号服务器后面的开发,微信公众号开发者权限 开通接口与配置服务器...
微信公众号开发者权限 开通接口与配置服务器 作为微信公众平台的开发者,是可以修改自定义菜单的.每个公众号下端都会有三个或者是四个菜单.关于菜单的内容以及显示的方式都是可以通过后台的开发者权限更改的.如 ...
- 微信公众号开发者自动回复php,微信公众平台开发者模式的启用并自动回复
这篇文章介绍的内容是关于微信公众平台开发者模式的启用并自动回复,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 首先,什么是开发者模式? 开发者模式,就是先验证你的服务器地址,验证完成之 ...
- android 微信公众号开发教程,微信公众号-开发者-自定义菜单,公众开发者
微信公众号-开发者-自定义菜单,公众开发者 我是个初学者,网上找了看了好多,都是第三方实现的,考虑到安全问题,不敢用! 今天终于摸索出了实现方法. 官方api:http://mp.weixin.qq. ...
最新文章
- python--open用法
- visual 对话框之间调用_两套S71200之间实现S7通讯的方法
- Buuoj reverse1
- WSARecv() 函数使用解析
- 【2017百度之星程序设计大赛 - 资格赛】	度度熊与邪恶大魔王
- struts2框架单文件、多文件上传实例详解
- 2.1 使用ARDUINO控制MC20打电话
- 数据结构入门(二)固定容量数组
- dodaf体系结构建模与分析系统软件
- 编译报错:无法打开包括文件 No such file or directory
- ESP32 硬件开发指北 -- 外接FLASH使用指北
- 自媒体行业的发展和前景
- AtCoder Beginner Contest 228
- ESP8266-Arduino编程实例-BH1750FVI环境光传感器驱动
- H5原生js简单拼图游戏
- 微信第三方开平台代公众号发起网页授权 获取用户信息 openid,uninoid
- canvas教程9-线型的属性
- R语言 非参数检验:Mann-Whitney检验和Wilcoxon检验
- 数据链路层的成帧方法
- android现状及发展趋势,2021年Android手机现状分析
热门文章
- table在html是什么意思,html5中table指的是什么意思
- linux phpcms,PHPCMS任意文件下载之exp编写
- eclipse 中使用@slf4j报log找不到
- VB 快速切换wifi软件 [提供案例参考吧]
- PP实施经验分享(3)——MRP运行问题常用解决方式
- git上传详细步骤和提交代码的各种报错解决方式.
- ajax 传递请求参数
- jQuery获取元素定位位置:给td添加选中样式
- 利用Fiddler实现在pc微信端测试
- Mode首席执行官Paul Dawes:从销售工程师到科技领导者