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

微信公众开发URL和token填写详解

时间:2017-06-07 12:49:19      阅读:384      评论:0      收藏:0      [点我收藏+]

标签:last   item   als   c89   提交   head   a20   lock   extra   

微信公众开发URL和token填写详解 

方法/步骤

 
  1.  

    作为一名微信公众号开发者,别人进入你的微信公众号,肯定会看见某些网页,或者给你发某些信息,你需要实时自动回复,所以你需要一个24小时为用户服务的服务器。我们所要填写的url就是你提供的服务器的地址,前提是这个服务器的地址你要能够访问,且能够控制。而token是用来验证的。

    技术分享
  2.  

    然后你需要一个服务器,服务器可以自己购买,也能用新浪sae,百度bae。方法是进入其开发者中心,注册一个开发者账号。并进行实名认证!(没有进行实名认证的小伙伴们是无法成功的)。下面我们使用新浪sae做为例子来进行说明。新浪sae一定要进行实名认证。

    技术分享
  3.  

    注册完毕后,我们进入控制台创建一个新应用。要选择PHP应用,微信开发是需要PHP编程知识的。 新浪sae上面PHP应用是要充值的(非免费)。

    技术分享
    技术分享
  4.  

    创建完应用之后我们进入左侧代码管理,提示我们创建一个新版本,点击确定创建一个新版本。然后选择第一张图中的编辑代码选项。弹出第二张图,双击index.php编辑本页代码。

    技术分享
    技术分享
  5.  

    将下面的代码加标点复制进去。将define("TOKEN", "weixin")这句话中的weixin改成你自己的token,例如zijidetoken;然后点击右上角的全部保存。

    <?php

    /**

      * wechat php test

      */

     

    //define your token

    define("TOKEN", "weixin");

    $wechatObj = new wechatCallbackapiTest();

    $wechatObj->valid();

     

    class wechatCallbackapiTest

    {

    public function valid()

        {

            $echoStr = $_GET["echostr"];

     

            //valid signature , option

            if($this->checkSignature()){

            echo $echoStr;

            exit;

            }

        }

     

        public function responseMsg()

        {

    //get post data, May be due to the different environments

    $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

     

          //extract 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(!empty( $keyword ))

                    {

                  $msgType = "text";

                    $contentStr = "Welcome to wechat world!";

                    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);

                    echo $resultStr;

                    }else{

                    echo "Input something...";

                    }

     

            }else {

            echo "";

            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;

    }

    }

    }

     

    ?>

    技术分享
  6.  

    按照第一幅图中又键点击index.php文件,选择通过URL访问得到第二幅图,复制地址栏的网址,这就是你微信开发需要填写的url,而你需要填写的token就是你上一步骤自己修改后的token。

    技术分享
    技术分享
    技术分享
  7.  

    填写完毕,提交成功。好了,你可以开始你的微信公众开发了。

    技术分享
    END

注意事项

 
  • 开发者一定要实名认证后才行,不然会提示验证token失败。
  • 微信开发需要php知识。

微信公众开发URL和token填写详解

标签:last   item   als   c89   提交   head   a20   lock   extra   

原文地址:http://www.cnblogs.com/hnxxcxg/p/6956051.html

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