企业微信公众平台台没选择返回了怎么办

在微信公众平台中,有一些技术型的微信公众账号在腾讯还未开放公众平台的API ,就已经能实现很多智能化的好玩的东西,他们是如何实现?
好吧,最近被很多人问起了这个事情,我来揭秘一下:这个公号是我们1个工程师用了半天时间完成的。这是一个“一句话需求产品”,即通过微信告诉我们你的位置,我们告诉你附近的信息。在微信出现可以共享位置功能的时候,我们就在思考,如何将快捷酒店管家与微信联合起来。快捷酒店管家是一个基于位置的快捷酒店预订应用,解决的主要问题是基于位置查找并预订快捷酒店。通常,会有很多人出差到一个陌生的地方的时候找不到附近的酒店,即使找到了也不知道如何去,打电话到前台问了半天也是一头雾水。我们就想,如果能结合微信的位置功能来解决这个痛点是最好的了。于是,9月份的时候我发了一个原型到微博上: .后来,微信出了分享到微信的功能,一定程度上解决了这个痛点。就是你告诉你的好友如何去你出差所在的酒店找你。(在快捷酒店管家酒店详情页面点击分享到微信即可)10月份的时候,跟白鸦聊到这个事情,他说逛也在做,同时向微信团队发出了这个需求。()于是,我说那你们先做,完成后我们直接用这个接口。11月份的时候,经过逛的第一次实验,微信团队搞定了这个接口,于是,快捷酒店管家开始做这个公号。历时半天,1个工程师,完成了这个需求。最初的订酒店公号(微信ID:innteam),只能实现共享位置,我们根据位置的x,y坐标查找酒店。后来,我们调用了一些第三方的API,现在已经可以实现按照地点来查找,按照店名来查找,按照品牌来查找等。其业务逻辑很简单:用户发送请求——》微信接收到请求之后传给快捷酒店管家——》快捷酒店管家对需求做处理,返回数据给微信——》微信返回数据给用户。其中,共享位置是微信自己的x,y坐标调用;地点查找是soso地图的接口调用;品牌查找/店名查找等是快捷酒店管家自己的接口调用;地图展示是百度地图的接口点用;短网址最早是163的,后来相应速度太慢,已经修改为快捷自己的。当前,微信的这个接口已经接受内测了,大家可以去申请()updata:12月,我们对微信订酒店做了升级,现在通过“订酒店”这个微信公号,可以1)查找周边的酒店,并返回地图2)直接在微信完成预订3)在微信上管理在快捷酒店管家的订单,可以直接取消订单事情就是这样。然后,有很多人就此问了我几个问题,一并回复:1、订酒店微号并不能与快捷管家app形成闭环,这样不好。嗯,是的,这样不好。我们也很想这样。但是,做订酒店这个公号的初衷,真的就是为了好玩。(也许说出来大家觉得这是敷衍....)在快捷酒店管家的团队里,我们每天会想到很多好玩的点子,我们会不断的想办法把自己融入到整个移动生态系统里面去,去“傍大款”,去做合作,而不是自己什么都做。比如,我们也是第一批尝试跟evernote合作的,把订单信息同步到evernote。未来,我们还会和更多的app进行“链接”。2、订酒店公号未来会如何发展。靠,真心不知道了....就一个好玩的东西,如果给他背负太多的责任和意义,就变的不好玩了3、微信现在已经与几个快捷品牌合作,可以直接通过微信订酒店了,这个事情怎么看这点,微信做的很酷。现在微信跟布丁的合作已经上线,通过公号为入口,以HTML5的形式在微信内嵌的浏览器中完成预订,这个很方便,很酷。我会觉得这是一个好事,在教育用户用手机订快捷酒店,在培养用户的习惯。当用户习惯了使用手机完成预订之后,就是服务与体验的争夺,那个时候会更好玩。
这玩意很简单,微信提供了接口。用户给公号发消息以后,微信会给你的服务器(在公号后台设置一个接收url),发送一个xml编码的数据,其中包含了用户发给你的内容和用户的微信号。然后你自己处理完,生成数据按一定的xml格式再返回给微信服务器,这样你的公共号就会给用户回复了。我花了半天做了一个app搜索和排名的公号。本来想每天给订阅用户发定制的app排名信息的,可惜没有主动发的接口,只能用户发给公号自动回复或者公共后台人工发,太麻烦了,就舍弃了。如果会php的话,半个小时都用不了,.
这个就是用户-&微信-&酒店管家后台-&结果数据 -&微信-&用户代码片段(7)
1.&[代码]配置菜单相关参数&&&&
package org.marker.
* 配置文件
* @author marker
* @date 日
* @version 1.0
public interface Config {
// 赋权类型
String grant_type = "client_credential";
// 修改为开发者申请的appid
String APPID
// 修改为开发者申请的secret密钥
String SECRET
2.&[代码]菜单测试代码&&&&
package org.marker.weixin.
import org.marker.utils.MenuU
import org.marker.weixin.exception.WeixinE
import org.marker.weixin.msg.Data4B
import org.marker.weixin.msg.Data4M
import com.alibaba.fastjson.JSON;
* 微信菜单测试代码
* @author marker
* @date 日
* @version 1.0
public class ButtonTest {
public static void main(String[] args) {
// 创建按钮
Data4Button btn = new Data4Button();
// 创建一级菜单
Data4Menu menu1 = new Data4Menu("view","关于我们","http://cms./about.html");
Data4Menu menu2 = new Data4Menu("click","guanyuds","Btn_a");
// 二级菜单
Data4Menu sm_1 = new Data4Menu("click", "赞助我们", "btn_zanzu");
Data4Menu menu3 = new Data4Menu("click","guanyuds","Btn_5");
Data4Menu sn_1 = new Data4Menu("click","guanyuds","Btn_2");
// 菜单之间的关系
btn.addMenu(menu1);
menu2.addSubMenu(sm_1);
btn.addMenu(menu2);
menu3.addSubMenu(sn_1);
btn.addMenu(menu3);
// Object -& json
String menustr = JSON.toJSONString(btn);
// weixinapi更具微信规范,添加了异常机制。
* 比如:菜单操作的异常,一级菜单最多三个,超出就抛出异常
MenuUtil.create(menustr);
} catch (WeixinException e) {
e.printStackTrace();
weixin.zip&~&410KB&&&&
微信API更新.rar&~&164KB&&&&
(2859)&&&&
5.&[图片] 微信服务端消息模拟器.png&&&&
6.&[代码]Servlet调用weixinAPI源码&&&&
package org.marker.mushroom.
import java.io.IOE
import java.io.InputS
import java.io.OutputS
import java.io.W
import java.util.ArrayL
import java.util.C
import java.util.L
import javax.servlet.ServletE
import javax.servlet.http.HttpS
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
import org.marker.weixin.DefaultS
import org.marker.weixin.HandleMessageA
import org.marker.weixin.MyS
import org.marker.weixin.msg.Data4I
import org.marker.weixin.msg.Msg4I
import org.marker.weixin.msg.Msg4ImageT
import org.marker.weixin.msg.Msg4T
* 处理微信服务器请求的Servlet URL地址:http://xxx/weixin/dealwith.do
* 注意:官方文档限制使用80端口哦!
* @author marker
* @blog www.
* @weibo /wuweiit
public class WeixinServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public WeixinServlet() {
//TOKEN 是你在微信平台开发模式中设置的哦
public static final String TOKEN = "xxx";
* 处理微信服务器验证
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String signature = request.getParameter("signature");// 微信加密签名
String timestamp = request.getParameter("timestamp");// 时间戳
String nonce = request.getParameter("nonce");// 随机数
String echostr = request.getParameter("echostr");// 随机字符串
// 重写totring方法,得到三个参数的拼接字符串
List&String& list = new ArrayList&String&(3) {
private static final long serialVersionUID = 6420433L;
public String toString() {
return this.get(0) + this.get(1) + this.get(2);
list.add(TOKEN);
list.add(timestamp);
list.add(nonce);
Collections.sort(list);// 排序
String tmpStr = new MySecurity().encode(list.toString(),
MySecurity.SHA_1);// SHA-1加密
Writer out = response.getWriter();
if (signature.equals(tmpStr)) {
out.write(echostr);// 请求验证成功,返回随机码
out.write("");
out.flush();
out.close();
* 处理微信服务器发过来的各种消息,包括:文本、图片、地理位置、音乐等等
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
InputStream is = request.getInputStream();
OutputStream os = response.getOutputStream();
final DefaultSession session = DefaultSession.newInstance();
session.addOnHandleMessageListener(new HandleMessageAdapter(){
public void onTextMsg(Msg4Text msg) {
System.out.println("收到微信消息:"+msg.getContent());
if("我是唐小怪".equals(msg.getContent())){
Msg4Text rmsg = new Msg4Text();
rmsg.setFromUserName(msg.getToUserName());
rmsg.setToUserName(msg.getFromUserName());
rmsg.setFuncFlag("0");
rmsg.setContent("你是小乖乖,哈哈!");
session.callback(rmsg);
//回复一条消息
Data4Item d1 = new Data4Item("蘑菇建站系统", "测试描述", "http://cms./themes/blue/images/logo.png", "cms.");
Data4Item d2 = new Data4Item("雨林博客", "测试描述", "http://www./template/ylblog/images/logo.png", "www.");
Msg4ImageText mit = new Msg4ImageText();
mit.setFromUserName(msg.getToUserName());
mit.setToUserName(msg.getFromUserName());
mit.setCreateTime(msg.getCreateTime());
mit.addItem(d1);
mit.addItem(d2);
mit.setFuncFlag("0");
session.callback(mit);
//必须调用这两个方法
//如果不调用close方法,将会出现响应数据串到其它Servlet中。
session.process(is, os);//处理微信消息
session.close();//关闭Session
7.&[图片] qrcode_for_gh_b389d01873ac_430.jpg&&&&
开源中国-程序员在线工具:
相关的代码(55)
2回/13568阅
2回/5746阅
4回/5065阅
5回/4571阅
3回/4110阅
5回/4074阅
0回/3244阅
7回/2646阅
3回/2274阅
2回/1891阅
处理微信认证的时候感觉没必要那么麻烦,管饭说是SHA加密了。但是加密不加密与你返回数据没一点关系。我是直接返回
echostr。然后封装了一些通用接口。
2楼:舞维天下 发表于
引用来自“look-vip”的评论处理微信认证的时候感觉没必要那么麻烦,管饭说是SHA加密了。但是加密不加密与你返回数据没一点关系。我是直接返回
echostr。然后封装了一些通用接口。如果没有认证处理,那么你这边任意服务器都可以访问你的接口,破坏性问题大大提高了!!! 总之就是安全问题,当然别个猜不到你的接口地址,你当然就是安全的。认证只是第一次申请提交URL的时候需要有的!也不清楚其它时间微信服务器会不会get请求过来。
3楼:look-vip 发表于
引用来自“舞维天下”的评论引用来自“look-vip”的评论处理微信认证的时候感觉没必要那么麻烦,管饭说是SHA加密了。但是加密不加密与你返回数据没一点关系。我是直接返回
echostr。然后封装了一些通用接口。如果没有认证处理,那么你这边任意服务器都可以访问你的接口,破坏性问题大大提高了!!! 总之就是安全问题,当然别个猜不到你的接口地址,你当然就是安全的。认证只是第一次申请提交URL的时候需要有的!也不清楚其它时间微信服务器会不会get请求过来。后边我还没发现有请求的。只在认证的时候用一次。
4楼:click 发表于
搞这个包的意义何在?
5楼:舞维天下 发表于
引用来自“click”的评论搞这个包的意义何在?自己琢磨
6楼:夏悸 发表于
已经有了 ,完整的实现
7楼:舞维天下 发表于
引用来自“夏悸”的评论已经有了 ,完整的实现
&我看了你的实现,微信各种消息类型,都整合在一个类分为输出和输入两种,而我这边完全采用面向对象实现,一个父类Msg(公共属性),各种消息类继承Msg。各种实现不同,而且消息来了,我可以读取头部信息,判断是什么类型,再继续解析对应的消息,通过调用对应的on方法。看开发者们喜欢使用哪种嘛,各有各自的优点,呵呵。
8楼:look-vip 发表于
引用来自“舞维天下”的评论引用来自“夏悸”的评论已经有了 ,完整的实现
&我看了你的实现,微信各种消息类型,都整合在一个类分为输出和输入两种,而我这边完全采用面向对象实现,一个父类Msg(公共属性),各种消息类继承Msg。各种实现不同,而且消息来了,我可以读取头部信息,判断是什么类型,再继续解析对应的消息,通过调用对应的on方法。看开发者们喜欢使用哪种嘛,各有各自的优点,呵呵。我也是搞了一个MsgBean类,但没用父类。一开始写Demo搞的,后边也懒得改了。。。后边跟你一样。
9楼:德胜 发表于
建议弄个session的默认实现,这样就只要关注具体的消息类型了.
10楼:舞维天下 发表于
引用来自“tds”的评论建议弄个session的默认实现,这样就只要关注具体的消息类型了.
这个可以弄,新加一个OnMssage接口,然后创建Session子类后,添加接口实现类到Session中,而session对象中的on方法就会调用对应接口中的方法。这个思路你自己都可以写出来,不过这是个好建议!
11楼:舞维天下 发表于
引用来自“tds”的评论建议弄个session的默认实现,这样就只要关注具体的消息类型了.
我已经按照你的建议增加了默认实现和监听器功能,你可以下载最新版。谢谢你的建议。
12楼:德胜 发表于
哈哈,我自己确实弄了一套,和你的不太类似,消息序列化用的jaxb,消息处理我弄成类似于责任链了,然后加了个上下文概念,等好久我整理好代码的给大家分享下.
13楼:lennel224 发表于
我试了下你的程序,回复文本可以,但是图文好像不行,不知道是我写错了
14楼:lennel224 发表于
Data4Item d1 = new Data4Item(&测试标题&, &测试描述&, &
Data4Item d2 = new Data4Item(&测试标题&, &测试描述&, &
Msg4ImageText mit = new Msg4ImageText();
mit.setFromUserName(msg.getToUserName());
mit.setToUserName(msg.getFromUserName());
mit.setCreateTime(msg.getCreateTime());
mit.setMsgType(Msg.MSG_TYPE_IMAGE_TEXT);
mit.addItem(d1);
mit.addItem(d2);
mit.setFuncFlag(&0&);&
callback(mit);
15楼:舞维天下 发表于
引用来自“lennel224”的评论
Data4Item d1 = new Data4Item(&测试标题&, &测试描述&, &
Data4Item d2 = new Data4Item(&测试标题&, &测试描述&, &
Msg4ImageText mit = new Msg4ImageText();
mit.setFromUserName(msg.getToUserName());
mit.setToUserName(msg.getFromUserName());
mit.setCreateTime(msg.getCreateTime());
mit.setMsgType(Msg.MSG_TYPE_IMAGE_TEXT);
mit.addItem(d1);
mit.addItem(d2);
mit.setFuncFlag(&0&);&
callback(mit);
你好,你提出的问题,确实是api中的bug,Msg4ImageText 的构造中没有初始化消息头,现在已经修复并测试成功,谢谢你提交的bug哈!
16楼:舞维天下 发表于
引用来自“lennel224”的评论我试了下你的程序,回复文本可以,但是图文好像不行,不知道是我写错了已经处理了哈!是程序消息构造忘记初始化消息头了
17楼: 发表于
推荐技术网:
18楼:舞维天下 发表于
引用来自“baisou001”的评论推荐技术网:找到相关结果数68个,网站搞的很杂乱,还需努力呀!要留住用户不是这样就行了,关键在于站内内容和页面用户体验。
19楼: 发表于
引用来自“舞维天下”的评论引用来自“baisou001”的评论推荐技术网:找到相关结果数68个,网站搞的很杂乱,还需努力呀!要留住用户不是这样就行了,关键在于站内内容和页面用户体验。好的,十分感谢你的建议
20楼:王宾宾 发表于
引用来自“舞维天下”的评论引用来自“夏悸”的评论已经有了 ,完整的实现
&我看了你的实现,微信各种消息类型,都整合在一个类分为输出和输入两种,而我这边完全采用面向对象实现,一个父类Msg(公共属性),各种消息类继承Msg。各种实现不同,而且消息来了,我可以读取头部信息,判断是什么类型,再继续解析对应的消息,通过调用对应的on方法。看开发者们喜欢使用哪种嘛,各有各自的优点,呵呵。使用监听,实现消息的分发,实现思想不错,并且你的API中使用了了大量的Document的解析和封装,让使用你API的开发者确实节省了不少的工作量, 你的weixinAPI是值得肯定的。我相信会有很多开发者会用,并且觉得不错。 但对于你以上观点,我看了你的代码实现后有些不同的想法。 所谓面向对象就是并不是你所说的每个实体都要有对应的实体类来实现,其实对于微信消息服务端开发来说,消息就两种,一种就是输出消息,一种就是输入消息,消息格式也是固定的,而你对消息进行了详细划分,无非是重复发明轮子。还有增大了你在每个实体类中对数据类型的解析的操作。既然@gson的那个是开源的,我建议
可以参考写,你俩取长补短。做出来个更完善的API
开源从代码分享开始
舞维天下的其他代码欢迎使用91微智汇微信公众帐号开发营销平台多用户微信营销服务平台!
91微智汇微信公众帐号开发营销平台微信公众号管理服务平台
让世界发现你的精彩
突破微信公众平台限制,无限自定义图文回复.微信公众账号轻松接入,众多智能服务瞬间开启
将企业微网站植入微信公众平台关注公众平台即可访问网站
大转盘、刮刮卡,会员卡
客户互动很轻松
一个帐号管理多个微信公众号轻松方便,快捷!
微信账号集中一站管理
支持多个微信账号的添加与管理,节约运营成本。
无限自定义图文回复
突破微信公众平台内容限制,快速响应预设回复
众多便捷工具免费享用
拥有多款查询小工具,提高微信公众账号活跃度。
淘宝店铺商品快速导入
倡导手机淘宝,引领微支付前沿,一键快速添加。
强大的商家运营管理
实现本地商家与微信用户直接的消费营销互动。
网站完美兼容其他接口
整合第三方应用接口,实现网站与平台数据互通。
微信接口服务平台是国内首家以图文并茂形式开展趣味应用类的微信服务平台,微90奔着方便、快捷、直观的理念,趣味类应用一经问世便收到了众多微信主的一致好评,我们将不断拓展新思路,将为广大微信主提供更优质的应用
为了让您的粉丝互动性更强,粘性度更大,本站开创了独家测试应用功能,操作简单,趣味性高。让公众号摆脱了只是一个功能查询的软肋。游戏性测试功能我们会逐渐增加,让更多的使用者受益。
我们将不断推出各种首页模板、分类页模板、详情页模板提供您使用,让您的WAP网站更加精彩!您只需到模板管理中心选择想要展示的模板,即可让您的用户看到您最新的内容。
友情链接:微信在线可防骗咨询市信用联社最新推出“微信银行”及微信公众平台开放群发、客服接口将枯燥文字祝福秒杀 这帮90后让拜
微信树《微信头像》精心为你准备了多款微信卡通头像,萌的很,赶快领回家吧!
微信树微信头像频道精心为你准备了12张比较有个性的头像,只为等待你的到来,希望你能
微信 动画表情包含了最全,最新,最有趣的动画表情,搞怪,卖萌,耍骚,上千种喜怒哀乐的表情动作应有尽有!
最近发现网上到处是微信群,扫二维码的!各种互赞方式,积攒还能获得各种奖品!有真有假,信息多的头都看晕了。 微信
戚薇,中国大陆人气女歌手、演员。毕业于浙江传媒学院录音艺术专业。2006年参加上海东方卫视的《我型我秀》选秀节目出道,凭借一
顺着天意做事,逆着个性做人.柳岩,光线传媒当家花旦,内地最性感女主播,影视歌主持多栖发展的新生代女星,柳岩(Ada),
自从腾讯以“安全开放的平台”向众多网民宣告以来,腾讯的微信平
江苏扬州一市民的银行卡在不到2天内,竟交易69笔,6万元钱不翼而
Powered by
& 2014 微赢宝旗下网站经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
请扫描分享到朋友圈

我要回帖

更多关于 微信公众平台开发 的文章

 

随机推荐