zoukankan      html  css  js  c++  java
  • 微信企业号开发:消息类型与差别

    微信企业号的消息。分成两种,调用微信接口发送的消息在接口文档中叫做发送消息,这样的消息是json格式的。在微信server给我们配置的URL post数据时发送的消息叫做接收消息和事件,须要加密解密,不须要调用微信接口,这样的消息的格式是XML格式的。

    两种消息的差别和联系:

    发送消息是json格式的,不须要加密解密。须要调用微信的接口,须要AccessToken,这样的消息适用于公众号主动推送下发消息。

    接收消息和事件的格式是XML格式的,须要加密,不须要调用微信接口,不须要AccessToken。但每次都会包括msg_signature、timestamp、nonce等几个參数。这类消息事实上是微信把数据post到我们配置的URL时发生的。



    事实上细致分析能够发现:全部主动调用微信接口的都须要參数AccessToken。不须要加密解密,json格式的包括创建菜单,管理通信录等。

    而在微信把数据post到我们配置的URL时,则须要解密加密。不须要调用微信接口,不须要AccessToken,但每次都会包括msg_signature、timestamp、nonce等几个參数,XML格式的数据。


    在接收消息与事件中,消息又分为:普通消息。事件,被动响应消息三类消息。

    1普通消息事实上就是用户发送给企业号的消息。

       实际执行路径是,用户发送消息,微信server把消息处理后post给我们配置的URL。我们在配置的URL的后台就能够获得用户发送的消息。

    2事件,事实上也是用户的特殊动作导致的消息。比如点击菜单等。

    实际执行路径是,用户发送消息。微信server把消息处理后post给我们配置的URL,我们在配置的URL的后台就能够获得用户发送的消息。

    3被动响应消息。事实上是微信server把前两类消息post给我们配置的URL后,我们通过HttpContext.Current.Response.Write(encryptResponse)这样的方式,发送给微信server。微信server在把消息转给用户的消息。


    细致分析能够发现前两类是用户是主动者,而被动响应消息是企业号由于用户的某些动作而产生的回应,这也许就是微信把这类消息叫做被动响应消息的原因吧。

    前两类消息的流程图


    被动对应消息的顺序恰好相反。


    发送消息和被动响应消息有什么差别呢?

    发送消息是公众号主动推送消息给用户,被动响应消息是由于用户的原因导致了微信server器post到URL上。

    从用户角度来说没有太大差别。


    比如:用户回复1,公众号回复1,也就是简单的聊天。两种方式都能够。但被动响应消息速度能快一些,主动发送消息略微慢一点。但被动响应消息不能主动推送,主动发送消息却能够主动发送。

  • 相关阅读:
    Bootstrap/Font-Awesome/sweetalert插件
    网络编程
    异常处理
    再看属性查找
    元类
    面向对象中的一些内置方法
    反射
    内置函数
    绑定方法与非绑定方法
    多态与鸭子类型
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/7390732.html
Copyright © 2011-2022 走看看