美文网首页
微信公众号开发

微信公众号开发

作者: belllee | 来源:发表于2018-03-13 23:53 被阅读0次

近日摸索了公众号的开发流程特记录下来,以供大家参考。
首先最重要的是你的有一个公众号,具体怎么申请这里就不赘述了。嘿嘿,其实开发调试的时候可以使用临时的调试公众号,这样即使没有公众号也可以进行开发调试了。具体方法如下:打开http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login。 然后用自己的微信扫一下,确认即可。系统会自动给你生成一个测试公众号,有简单的管理功能。

当然你也可以直接在公众号上进行开发调试。登陆公众号平台后,在左侧菜单底部,选择开发者中心,配置服务器信息(同测试账号)。如需加密可以设置秘钥,需注意,公众账号主动调用API的情况将不受影响。只有被动回复用户的消息时,才需要进行消息加解密。参考:http://mp.weixin.qq.com/wiki/17/2d4265491f12608cd170a95559800f2d.html

服务端认证

添加服务器URL后,微信服务器会向你的公众号服务器发送一个认证请求。比如你的微信服务URL是:http://10.10.10.10/wx。微信服务器会发起一个get请求,http://10.10.10.10/wx/?signature=c4b6bed68f55e7bd09e2771674a1989619716054&echostr=3942832202382810879&timestamp=1441531611&nonce=1839804127。公众号服务器校验流程入。

  1. 将token、timestamp、nonce三个参数进行字典序排序
  2. 将三个参数字符串拼接成一个字符串进行sha1加密
  3. 开发者获得加密后的字符串可与signature对比,如果相同则校验通过
    校验通过后,返回echostr参数的内容给微信服务器,完成认证。

服务端PHP代码参考:http://mp.weixin.qq.com/wiki/17/2d4265491f12608cd170a95559800f2d.html

nodeJS代码参考:http://my.oschina.net/fengcunhan/blog/97367

通过认证后,才能完成服务器的配置。

消息接收和自动回复

当用户向公众号发送消息时,微信服务器会自动讲消息转发到公众号服务器,发起一个post请求到http://10.10.10.10/wx。消息为xml字符串形式上传到服务器。公众号服务器解析出xml字符串中的消息类型,发送用户,以及发送的消息等信息。然后返回一个xml形式的字符串。API参考:http://mp.weixin.qq.com/wiki/10/79502792eef98d6e0c6e1739da387346.html

PHP使用$GLOBALS["HTTP_RAW_POST_DATA"]获取消息内容。

nodejs无法自己获取,需要执行读取操作:

 var formData="";
     req.on("data",function(data){
     formData+=data;
     });
     req.on("end",function(){
     processMessage(formData,res);
     });

通过API创建菜单

首先向微信服务器发起一个get请求:

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
获取到access_token,然后发起创建菜单请求。POST(请使用https协议) https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN

菜单信息以json格式封装。参考:http://mp.weixin.qq.com/wiki/13/43de8269be54a0a6f64413e4dfa94f39.html

相关文章

  • 微信开发

    微信开发 公众号开发 微信WEB开发 JSSDK 小程序开发 公众号开发 公众号 订阅号 服务号 企业号 公众号开...

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

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

  • 微信公众号开发:微信服务号和订阅号的区别!

    微信开发又称微信公众平台开发、或微信公众号开发,分为微信服务号、微信订阅号、以及微信企业号,其中服务号和订阅号是企...

  • PHP微信公众号支付开发总结

    微信公众号开发是很常见的开发,其中微信支付占有很大的比重。微信公众号分为服务号和订阅号,服务号支持微信支付。 前期...

  • 基于JavaEE——微信网页(二)微信开发

    微信开发测试公众号(沙盒号) 微信API帮助文档 微信接口在线调试 首先申请微信开发的测试公众号,登陆后会看到微信...

  • 1 - 简介

    微信公众号开发 又称微信公众号二次开发。可以将公众账号由一个媒体型营销工具转化成提供服务的产品。 微信公众号开发的...

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

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

  • 微信服务器接入

    这几天正在学习微信公众号开发,后台JAVA基于SSM框架对微信公众号进行开发。 微信公众平台“基本配置”。详细请参...

  • 微信公众号开发:获取openId和用户信息

    title: 微信公众号开发:获取openId和用户信息 tags: 微信公众号 categories: 笔记 ...

  • Springboot 之小程序公众号等资料

    公众号 Java微信公众号开发的精彩世界,学习微信公众号开发的相关概念,编辑模式和开发模式应用,以及百度BAE的使...

网友评论

      本文标题:微信公众号开发

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