zoukankan      html  css  js  c++  java
  • 微信公众号平台开发-事件推送

    事件推送

    1).推送类型介绍

      1 关注/取消关注事件

      2 扫描带参数二维码事件

      3 上报地理位置事件

      4 自定义菜单事件

      5 点击菜单拉取消息时的事件推送

      6 点击菜单跳转链接时的事件推送

     

    推送XML数据包示例:

    <xml><ToUserName>< ![CDATA[toUser] ]></ToUserName><FromUserName>< ![CDATA[FromUser] ]></FromUserName><CreateTime>123456789</CreateTime><MsgType>< ![CDATA[event] ]></MsgType><Event>< ![CDATA[subscribe] ]></Event></xml>
     

    参数说明:

    参数描述
    ToUserName 开发者微信号
    FromUserName 发送方帐号(一个OpenID)
    CreateTime 消息创建时间 (整型)
    MsgType 消息类型,event
    Event 事件类型,subscribe(订阅)、unsubscribe(取消订阅)

     

     上面消息post推送的数据格式--网址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140454

    当用户关注微信公众号时,微信给我们的url网址推送一个post请求,请求数据是xml格式的

    后台设置的url:http://www.cc8w.com/weixin/openweixin.php

    我们需要这样获取:

    $postArr = $_GLOBALS['HTTP_RAW_POST_DATA'];
    file_get_contents("php://input");//这样也可以获取

    这个xml格式.

    //获取到xml数据后,处理消息类型,并设置回复消息内容(回复就是直接打印xml数据)

        public function reposeMsg()
        {//接收事件推送过来的数据,并回复
            //文案地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140453
            $postArr = $GLOBALS['HTTP_RAW_POST_DATA'];//接受推送事件
    
            //数据格式
            $arr = simplexml_load_string($postArr);
            if(strtolower($arr->MsgType)=="event")
            {
                $toUser = $arr->ToUserName;
                $foUser = $arr->FromUserName;
                $msgType = 'text';
                $createTime = time();
                $content = '尊敬的'.$foUser."谢谢你的关注
    ";
    
                if(strtolower($arr->Event)=="subscribe")
                {//订阅事件的处理
                    $temp = "<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[%s]]></MsgType><Content><![CDATA[%s]]></Content></xml>";
                    $temp = sprintf($temp,$foUser,$toUser,$createTime,$msgType,$content);
                    return $temp;
                }
            }
        }

    实验的地址:https://gitee.com/fps2tao/openweixin

  • 相关阅读:
    elasticsearch 中的Multi Match Query
    activiti 流程部署的各种方式
    elasticsearch 嵌套对象之嵌套类型
    elasticsearch Java High Level REST 相关操作封装
    elasticsearch 字段数据类型
    ubuntu 安装 docker
    elasticsearch 通过HTTP RESTful API 操作数据
    facenet 人脸识别(二)——创建人脸库搭建人脸识别系统
    POJ 3093 Margaritas(Kind of wine) on the River Walk (背包方案统计)
    墨卡托投影, GPS 坐标转像素, GPS 坐标转距离
  • 原文地址:https://www.cnblogs.com/fps2tao/p/8666065.html
Copyright © 2011-2022 走看看