文章目录
  1. 1. 申请服务器资源
  2. 2. 使用微信公众平台开发模式
  3. 3. 参考
  4. 4. 来自猩猩的程序猿

公众平台是为微信用户提供服务的平台,而公众平台开发接口则是提供服务的基础。公众平台开发接口提供与用户进行消息交互、自定义菜单交互的能力。对于成功接入公众平台开发接口的公众账号,当用户发消息给公众号,微信公众平台服务器会使用http请求对接入的网址进行消息推送,第三方服务器可通过响应包回复特定结构,从而达到回复消息的目的。

下面我们就将使用公众号来自猩猩的程序猿(微信号:coderfromstar)一步步开始微信公众账号的开发:

申请服务器资源

我们使用SAE新浪云计算平台作为服务器资源,程序运行环境是PHP+MySql。【其实也可以使用百度云平台

  1. 申请账号:直接使用新浪微博账号登陆就可以。
  2. 新建新应用:
  3. 选择刚刚创建的应用,选择左侧代码管理,然后创建一个新版本 这样就成功创建成功了一个域名URL为http://codersfromstar.sinaapp.com/的应用啦。
  4. 上传代码

    将下面代码另存为index.php文件中

    <?php
    /*
        Never’sBlog http://xfhnever.github.io/
    */
    
    define("TOKEN", "coderfromstar");
    $wechatObj = new wechatCallbackapiTest();
    if (isset($_GET['echostr'])) {
        $wechatObj->valid();
    }else{
        $wechatObj->responseMsg();
    }
    
    class wechatCallbackapiTest
    {
        public function valid()
        {
            $echoStr = $_GET["echostr"];
            if($this->checkSignature()){
                echo $echoStr;
                exit;
            }
        }
    
        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;
            }
        }
    
        public function responseMsg()
        {
            $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
    
            if (!empty($postStr)){
                $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
                $fromUsername = $postObj->FromUserName;
                $toUsername = $postObj->ToUserName;
                $keyword = trim($postObj->Content);
                $time = time();
                $textTpl = "<xml>
                            <ToUserName><![CDATA[%s]]></ToUserName>
                            <FromUserName><![CDATA[%s]]></FromUserName>
                            <CreateTime>%s</CreateTime>
                            <MsgType><![CDATA[%s]]></MsgType>
                            <Content><![CDATA[%s]]></Content>
                            <FuncFlag>0</FuncFlag>
                            </xml>";
                if($keyword == "jr" || $keyword == "jr")
                {
                    $msgType = "text";
                    $contentStr = date("Y-m-d H:i:s",time());
                    $contentStr2 ="ZT,你才是jr!";
                    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType,$contentStr2);
                    echo $resultStr;
                }else {
                    $msgType = "text";
    
                    $contentStr1 ="hello,非常感谢您关注来自猩猩的程序猿,我们将会不定期推送IT界最新消息!!";
                    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType,$contentStr1);
                    echo $resultStr;
                }
            }else{
                echo "";
                exit;
            }
        }
    }
    ?>
    

    将index.php压缩成ZIP格式,然后在“操作”菜单中选择上传代码包。

    上传成功之后选择编辑代码,可以看到

    整个配置就算成功啦,可以在其中修改代码呦!

使用微信公众平台开发模式

  1. 申请个人公众账号

    按照微信公众平台地址上的指南一步步做就可以啦!

  2. 开启“开发模式”

    选择 功能=>高级功能 进入“开发模式”,点击“成为开发者“按钮。

    其中URL就是在上面创建的那个URL,Token是在上文中index.php代码中设置的。

    然后滑动右上角开启服务按钮

    到这里就基本设置完整啦,下面我们就测试一下!!

  3. 测试

参考

微信公众平台开发者文档

来自猩猩的程序猿

欢迎大家关注,我们将会不定期更新一些IT最新消息!!大家也可以通过这个和博主进行交流!!希望大家喜欢~~

文章目录
  1. 1. 申请服务器资源
  2. 2. 使用微信公众平台开发模式
  3. 3. 参考
  4. 4. 来自猩猩的程序猿