微信接入探秘(一)——从零认识微信接口
来源:互联网 发布:mac怎么玩dota2国服 编辑:程序博客网 时间:2024/05/16 09:21
本文出处:http://blog.csdn.net/chaijunkun/article/details/53385088,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文
写在前面
回想起来今年还没有在CSDN上发过文章,草稿箱里积攒了很多话题,可由于时间关系最终也没发出来。不能再拖了,打算写个系列专题,聊聊微信接入。
随着微信用户量的不断增加,越来越多的企业也将自己的服务加入到了微信当中。微信本身提供的公众号、服务号的基础功能难以满足日趋增长的需求,于是微信为我们打开了一整套自定义功能的API,利用这些API,我们可以弥补原有平台的不足,创造出更加方便的功能。本篇先对微信接口进行简单的介绍。
腾讯虽然官方也提供了很多语言版本的开发包(参阅:http://qydev.weixin.qq.com/wiki/index.php?title=加解密库下载与返回码),包括C++、Python、php、java和C#,但是笔者发现作为以PHP为主导技术的公司,Java版本的SDK无论是从封装性能、可维护性还是语法结构上都不够严谨。也正是因此才有了做一套开源API适配库的想法,目的就是为了让微信接入更简单、更容易维护(项目地址为:https://code.csdn.net/chaijunkun/wechat-common)
任何新技术的掌握都是从文档开始的,如果你刚刚接触微信接入开发,不妨先看看官方的文档:https://mp.weixin.qq.com/wiki(这个地址后来发现有点问题,可能是启用了refer屏蔽,从博客跳转过去会报错,随便点个报错页面的链接,粘贴地址后即可访问)
通过阅读文档,我们大概将微信接口分为两类:被动回调(集中在文档的消息管理部分)接口和主动调用接口。
被动回调接口
严格意义上来说,该接口的业务逻辑是由我们自定义的。当有相应的事件发生时,微信会按照之前配置好的公众平台参数主动请求你的接口。请求参数和请求体都是在文档中明确声明的,我们要做的就是对其进行适配。
该接口的作用类似于短信中心。当用户订阅了你的公众号之后可以向其主动发送信息,但消息不是直接到达了你的后台系统,而是通过微信的转发回调机制,将内容通过统一的格式发送给接入的后台系统。你是否还记得有些电视节目中参与互动,发特定的短信内容到一个服务号码上就能参与进去?道理是一样的。
若需要使用回调接口,需要在正式使用前对账号进行配置。方法为:登录微信公众号平台. 登录地址:https://mp.weixin.qq.com/,查看自己的公众号。
a.若使用正式公众号调试,请在左侧菜单中找到”开发”->”基本配置”->”开发者ID”和”服务器配置”中找到对应的配置项。
b.若使用公众号的测试账号调试,请在左侧菜单中找到”开发”->”开发者工具”->”公众平台测试帐号”->”进入”->扫描登录二维码->”测试号信息”和”接口配置信息”中找到对应的配置项。
一个通常的业务模式为下图所示
上述场景中,公众号处于被动模式,只有用户主动发送消息,才会触发微信回调公众号后台,并产生相应的应答。实际应用场景有:“回复XX给你看一张图”,“给我们的节目留言”等等。
关于该处的配置和调试方法将会在后续章节中详细介绍
主动调用接口
刚刚我们说过用户主动向公众号发送消息,那么有没有主动发消息给用户的场景呢?例如:告警系统,机房中哪台机器出现问题我们事先是不知道的,监测到异常时需要主动发消息通知用户。那么就涉及到了主动调用类接口了。这部分接口包罗万象,是微信接口的重点和难点。
微信官方针对主动调用的接口进行了一些列限制,例如公众号不能给未关注该号的用户发送消息(旨在保护用户不被恶意打扰),例如API访问令牌Token,每天的获取次数也根据公众号的类型做了不同的限制。
一个通常的业务模式为下图所示
具体实践,后续章节中也会对其进行介绍。
本节对微信接口进行了分类和原理的粗略解释,更多内容请关注我的博客,也欢迎针对该开源框架提出改进性建议。
- 微信接入探秘(一)——从零认识微信接口
- 微信接入探秘(一)——从零认识微信接口
- 微信接入探秘(一)——从零认识微信接口
- 微信接入探秘(四)——万事俱备,只欠架构(回调篇)
- 微信接入探秘(五)——万事俱备,只欠架构(API篇)
- 微信接入探秘(二)——懒人的OXM之路
- 微信接入探秘(二)——懒人的OXM之路
- 微信接入探秘(三)——加密消息的处理
- Unity接入微信SDK——iOS(接入微信SDK)
- 从零开发微信公众号系列 【二】开发者基本配置和接入指南
- 微信硬件设备接入接口协议
- APP接入微信支付接口
- 10.PHP接入微信退款接口
- Java微信公众平台开发(一)——接入微信公众平台
- 微信公众平台开发----接入微信接口
- 微信接入指南——第一章
- 微信支付接入流程——刷卡支付接入
- weixin4j微信开发-零开发新手接入
- 客户端访问scan IP出现ora12545错误
- 第46课:Spark中的新解析引擎Catalyst源码初探
- Notification的用法
- android bluetooth stack-init
- 封装
- 微信接入探秘(一)——从零认识微信接口
- windows:创建系统服务
- 网络利器NMAP系列(三)| NMAP使用介绍
- tensorflow将训练好的模型freeze,即将权重固化到图里面,并使用该模型进行预测
- java基本知识归集
- python进行KMeans聚类算法raise ImportError('[joblib] Attempting to do parallel computing ' ImportError: [jo
- 重拾python 十九
- 本地计算机 上的 MySQL 服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。
- html 资料学习