码迷,mamicode.com
首页 > 微信 > 详细

微信订阅号开发笔记(二)

时间:2014-05-08 03:18:33      阅读:1092      评论:0      收藏:0      [点我收藏+]

标签:微信 订阅号 开发

   微信开发的流程其实很简单 o(∩_∩)o 哈哈!在微信网站的编辑操作 额,就不说了。虽然有人问过。下面是我的微信开发过程,简单记录下。

成为开发者

材料:1、自己的服务器资源,百度的BAE,新浪的SAE都不错。

     2、懂那么点编程语言。

     3、注册微信公众号。

上面的都有了之后,就可以自己动手开发了。哇咔咔,好兴奋。有木有。

在登录进去之后,怎么成为开发者?不知道,自己看去。

开始coding吧。

1、验证

if (! empty ( $_GET [‘echostr‘] ) && ! empty ( $_GET ["signature"] ) && ! empty ( $_GET ["nonce"] )) {
            $this->valid();
        }
// valid token
    private function valid()
    {
        $echoStr = $_GET["echostr"];
        //valid signature , option
        if($this->checkSignature()){
            echo $echoStr;
            exit;
        }
    }
    // check Signature
    private function checkSignature()
    {
        $signature = $_GET["signature"];
        $timestamp = $_GET["timestamp"];
        $nonce = $_GET["nonce"];   
                                                               
        $token = TOKEN;
        $tmpArr = array($token, $timestamp, $nonce);
        sort($tmpArr);
        $tmpStr = implode( $tmpArr );
        $tmpStr = sha1( $tmpStr );
                                                       
        if( $tmpStr == $signature ){
            return true;
        }else{
            return false;
        }
    }

就是这样,都是从官网开发文档抄来的。

2、接收消息

$postObj = simplexml_load_string($postStr, ‘SimpleXMLElement‘, LIBXML_NOCDATA);
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$keyword = trim($postObj->Content);
$time = time();
$msgType = $postObj->MsgType;

3、处理消息

//接受普通消息--
if($msgType=="text"){
//收到文本消息
$contentStr = "Welcome to wechat world!".$ret." ok ";
$this->responseMsgText($fromUsername, $toUsername, $time,  $contentStr  );
            }
    //回复文本消息
    public function responseMsgText($fromUsername, $toUsername, $time,  $contentStr  )
    {       
        $textTpl = "<xml>
                    <ToUserName><![CDATA[%s]]></ToUserName>
                    <FromUserName><![CDATA[%s]]></FromUserName>
                    <CreateTime>%s</CreateTime>
                    <MsgType><![CDATA[text]]></MsgType>
                    <Content><![CDATA[%s]]></Content>
                    </xml>";            
                        
        $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time,   $contentStr);
        echo $resultStr;
    }

上面只是简单的回复文本消息,还可以根据各种模版,发送图片、图文、语音等消息。



本文出自 “在路上” 博客,请务必保留此出处http://3409736.blog.51cto.com/3399736/1408028

微信订阅号开发笔记(二),布布扣,bubuko.com

微信订阅号开发笔记(二)

标签:微信 订阅号 开发

原文地址:http://3409736.blog.51cto.com/3399736/1408028

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!