在开发之前,个人建议开发者或者需求者还是先了解清楚微信公众账号的一个基本模式,何为订阅号,何为服务号。两者之间的区别以及功能限制。
这边我针对开发方面捡重点说几点,具体的区别我相信手指动动,百度一下,什么问题都明白了。
1.  微信开放给订阅号的接口
     
简单说就是订阅号拥有的接口也就只能做做自动回复这些功能。

2. 微信开放给服务号的接口
其实跟订阅号比较起来,也就是多了一个自定义菜单的接口,可以对自定义菜单进行增删查。

3. 订阅号只有一次机会升级成服务号,升级后将不可以再改为订阅号,所以针对需求,升级时慎重选择哈。
很多人老是问,开发者要用什么语言来写项目,JAVA、PHP、.NET、C#。。。。等语言都可以,不要把微信开发想太复杂了,说白了,就是接口的交互。
接下来讲讲如何将自己的程序与微信开发者模式接入起来

首先在成为开发者模式的时候,微信会让我们填写一个URL和一个Token(上图)。
Token开发者随意填写,只是一个标识而已。
URL填写你部署到网外的地址,部署到网外的端口号微信要求必须是80端口,这点需要注意下。
当你保存URL和Token的时候,微信后台会调用你填写的URL地址,使用http的get方式请求你的URL。
这个时候就是开发者需要编写的代码了,开发者需要响应微信的请求并且接收微信传来的参数。
通过微信的验证规则,即可接入成功。
这里就简单讲讲微信接入的验证规则吧,其实API已经有了。我这里赘述一下吧。

上图来自微信公众平台API,其实已经说得很清楚了,微信请求URL时,使用HTTP的GET请求。
带有四个参数,这四个参数有一个验证方式。
即先将token(申请开发者模式时填写的)、timestamp、nonce三个参数进行字典排序。
然后再将三个参数拼接成一个字符串进行sha1加密。
最后将sha1加密后的字符串与signature进行对比,匹配正确返回echostr即可。
微信官网API里面有PHP的案例,就不说了,现成的,下载下来改下token就可以啦。
本人使用JAVA,大概说一下流程吧,其实网上已经有非常多的案例了。

1. 字典排序(把所有的字符串全部都放入一个数组里,然后使用Arrays.sort来排序.这个方法会自动按照首字母a-z来排序)
String[] arr = new String[] { token, timestamp, nonce };
Arrays. sort(arr);

2. 将三个参数拼接成一个字符串

StringBuilder content = new StringBuilder();
for ( int i = 0; i < arr. length; i++) {content.append(arr[i]);
}

3. 将拼接成一个字符串的参数0就行sha1加密

public static String SHA1(String inStr) {MessageDigest md = null;String outStr = null;try {md = MessageDigest.getInstance("SHA-1");byte[] digest = md.digest(inStr.getBytes());       //返回的是byet[],要转化为String存储比较方便outStr = bytetoString(digest);}catch (NoSuchAlgorithmException nsae) {nsae.printStackTrace();}return outStr;}

4. 最后将sha1加密后的字符串可与signature对比,匹配成功返回echostr,否则接入失败

OK!现在已经成为开发者了!

讨论QQ群:315272857

微信公众平台如何开发相关推荐

  1. 微信公众平台开发 - 动手篇。使用weinxinFundation开始一个微信公众平台的开发

    本文主要讲解如何使用 weinxinFundation 进行二次开发. 步骤如下: 1.创建新的web项目. 在eclipse里新建一个dynamicly web project,比如本文叫weixi ...

  2. ASP.NET MVC5微信公众平台整合开发实战教程

    <ASP.NET MVC5&微信公众平台整合开发实战(响应式布局.JQuery Mobile,Windows Azure.微信核心开发)> 课程讲师:57Code 课程分类:ASP ...

  3. 微信公众平台前端开发技巧分享

    这个是第三方跳转的网站 微信公众平台前端开发技巧分享 微信公众平台 新版微信做了更改,此文提到的部分方法可能已经不再适用,请关注微信官方开放平台:http://open.weixin.qq.com/d ...

  4. 如何学习微信公众平台的开发?

    如何学习微信公众平台的开发? 在整个移动互联网的开发技术中,微信公众号的开发几乎是成本最低,传播最快,影响最广的,你几乎不需要再添加任何配置,就可以开始. 个人可以申请公众号,需要高级权限可以用测试号 ...

  5. 微信公众平台应用开发实战

    微信公众平台应用开发实战 微信营销 ISBN 9787111438618 作者 钟志勇 含税价 59.0元 税后 51.3元 增值税 7.7元 卓越价 40.7元(满49元免运费) 有货 出版社 机械 ...

  6. 微信公众号api关注接口php,微信公众平台接口开发入门示例

    本文实例讲述了微信公众平台接口开发入门示例.分享给大家供大家参考.具体如下: 微信公众平台的接口开发是一个现在比较常用的功能了,很多的人都会去了解一下微信公众平台一些简单开发应用,这里就来给大家介绍一 ...

  7. 微信公众号html在线编辑器,【微信公众平台工具开发】雷人微信网页编辑器

    原标题:[微信公众平台工具开发]雷人微信网页编辑器 [微信公众平台工具开发]雷人微信网页编辑器 雷人微信编辑器--真正的微信神器,可以将热门.头条和自己感兴趣的文章,包括微信朋友圈分享的公众号里面的精 ...

  8. 《微信公众平台应用开发实战(第2版)》一1.1 微信公众账号的注册

    本节书摘来华章计算机<微信公众平台应用开发实战(第2版)>一书中的第1章 ,第1.1节,钟志勇 何威俊 冯煜博 著更多章节内容可以访问云栖社区"华章计算机"公众号查看. ...

  9. 视频教程-微信公众平台深度开发v2.0第3季——二维码、模板消息-微信开发

    微信公众平台深度开发v2.0第3季--二维码.模板消息 微信企业号星级会员.10多年软件从业经历,国家级软件项目负责人,主要从事软件研发.软件企业员工技能培训.已经取得计算机技术与软件资格考试(软考) ...

  10. 微信公众平台完整开发教程

    微信已然成了一种生活方式:群聊.语音.视频,照片/视频/位置共享,支付和商店有了,还能通过公众账号来获取各种资源--如今的微信就是在日中天的状态(最新估值已达 600 亿),公众平台带来的影响有目共睹 ...

最新文章

  1. UbuntuServer16.04LTS中提示:The method driver /usr/lib/apt/methods/https could not be found
  2. SQL Server里PIVOT运算符的”红颜祸水“
  3. java 字符串构造函数,java构造函数示例(构造方法)
  4. spock 集成测试_使用Spock Mocks进行Grails 3.3集成测试
  5. (转)深入理解Java中的final关键字
  6. [译]Windows 服务用户帐户
  7. 字符串类型日期时间转换为Date类型解析转换异常java.text.ParseException: Unparseable date: “2019-09-27T18:31:31+08:00”
  8. ubuntu 18.04 卸载 mysql 过程记录
  9. jQuery入门 jQuery入门第一天 1. jQuery入门
  10. 在blog中放置北京奥运倒计时Flash
  11. 微信emoji表情包存入数据库报错处理
  12. Photoshop利用快速蒙版抠图方法
  13. NMOS和PMOS导通电流 走向
  14. CDR中实现浮雕效果的两种方法
  15. 二进制1010.0101转换为十进制
  16. iOS 关于iTMSTransporter上传IPA报错问题
  17. Python解决图文验证码登录识别(1)
  18. 使用IDL显示DICOM文件的信息
  19. 网口调试方式以及性能测试iperf |CSDN创作打卡
  20. 南开计算机考研真题,2018年南开大学考研真题硕士研究生入学考试试题

热门文章

  1. 关于sudo dpkg-divert –local –rename –add /sbin/initctl导致的开机无图标解决方法
  2. php教师评语,佛山这所中学爆红!教师用古文写评语,学子用文言文写反思
  3. 吃鸡游戏百人语音,如何实现“听声辩位”找队友
  4. 摆脱乔布斯影子,库克如何做自己
  5. BetterAndBetter--Mac手势软件
  6. win8计算机桌面字体,win8.1桌面字体颜色_Win8更换桌面主题(壁纸、窗口颜色)的操作步骤_win8个性化颜色...
  7. c语言鸣炮21响,肱二头肌高级训练法--“21响礼炮”
  8. VHDL_BaseGrammer
  9. Linux系统创建文件报错“E297: Write error in swap file“
  10. 在vue中实现单页面打印之cdn引入打印