Monthly Archives: 一月 2014

Hello World 微信开发

玩转微信公号开发(二)——消息的接受

当用户在公号内微信推给开发者服务器的是这样一个xml

1
2
3
4
5
6
7
8
  <xml>
    <ToUserName><![CDATA[gh_fsadfe942b39]]></ToUserName>
    <FromUserName><![CDATA[orrnsdfsdfLom-FsssD1wZiBUFTw]]></FromUserName>
    <CreateTime>1390809909</CreateTime>
    <MsgType><![CDATA[event]]></MsgType>
    <Event><![CDATA[subscribe]]></Event>
    <EventKey><![CDATA[]]></EventKey>
  </xml>

或者这样:

1
2
3
4
5
6
7
8
  <xml>
    <ToUserName><![CDATA[gh_fsadfe942b39]]></ToUserName>
    <FromUserName><![CDATA[orrnsdfsdfLom-FsssD1wZiBUFTw]]></FromUserName>
    <CreateTime>1390810725</CreateTime>
    <MsgType><![CDATA[text]]></MsgType>
    <Content><![CDATA[你好]]></Content>
    <MsgId>5973123479001063148</MsgId>
  </xml>

    最基本的是如下四个字段:

  • ToUserName,是公号的标示
  • FromUserName,是用户的openId,如果要针对特定用户做什么事,这个字段会很有用
  • MsgType,消息类型,比如event、text、location、image等
  • CreateTime

    除了两个UserName和MsgType,每一种MsgType,xml还会包含如下字段:

  • event
    1. Event,具体的事件类型
      EventKey,事件的具体信息
  • text
    1. Content,用户给公号发送的信息内容
      MsgId
  • location
    1. Location_X,纬度
      Location_Y,精度
      Scale,地图缩放
      Label,地点名称
      MsgId
  • image
    1. PicUrl,图片内容
      MsgId
      MediaId,媒体id,貌似可以拿这个图片再做别的用途
  • link,网页
    1. Title,标题
      Description,部分内容
      Url,页面弟子
      MsgId
    另外还有语音、视频等类型,以后用到的时候再补充~~

    常用的事件类型包括如下几个(MsgType为event时)

  • subscribe,新用户关注,当然,也可能是再次关注
  • unsubscribe,取消关注
  • validate_url,微信后台测试开发者网关,只在设置网管是才会有
  • CLICK,菜单点击

好的,今天就到这儿。。。

什么,你问怎么得到消息?

微信通过post将xml给开发者服务器,php里,通过$GLOBALS["HTTP_RAW_POST_DATA"]接收~~~xml怎么解析?我是用的simplexml_load_string,不太好用,应该还有更好用的xml解析工具

转载请注明出处:http://www.jiangkl.com/2014/01/weixin_msg/
Hello World 微信开发

玩转微信公号开发(一)——使用“开发模式”

近半年都在做基于微信公众号的开发,节前几天工作不忙,把相关的(可以公开的)经验写到blog里给大家分享,也算自己的一个小总结

先来理清关于微信公号的几个概念:

订阅号与服务号:

订阅号是相对比较好申请,但是权限较低的公众号

服务号由订阅号升级得到,貌似现在要花钱才能升级~~

订阅号相对服务号的唯一的优势是:每天可以群发一条信息,而服务号每个月才能群发一条

服务号可以享有更多的高级接口权限,比如客服消息、定位、支付等

编辑模式与开发模式:

两种模式下,均可以在微信后台对用户做消息的回复、群发,管理粉丝群。他们的不同,主要在自动回复的能力上

编辑模式下,可以在微信后台设置各种自动回复,可以根据关键字设置回复~~但仅此而已,再复杂的回复模式(目前)就做不到了

开发模式下,可以将用户的消息转到公号后台所设置的服务器,然后有服务器根据各种消息类型和业务逻辑,以及具体的用户,来做出回复

编辑模式和开发模式,只能选一个

开发者的服务器配置:

包括一个服务器网关的url地址,和一个token

网关,即你的服务器地址,用来接受用户发给你公众号的各种消息;你要回复给用户的消息,即为这个请求的响应

token,一个用作标示的字符串,让服务器可以判断哪一个公众号的消息

转载请注明出处:http://www.jiangkl.com/2014/01/weixin_dev/

—————–over,今天先到这里,下次继续