星空网 > 软件开发 > 操作系统

微信公众平台开发——helloworld

威信公众平台有两种模式:编辑模式 和 开发模式。

普通的功能可以通过编辑模式来搞定。开发模式具有更多的功能。让我们来使用开发模式开发helloword吧

步骤如下:

1.先注册一个公众号(https://mp.weixin.qq.com)

2.注册sae(http://sae.sina.com.cn/),作为你的服务器。

3.登录微信公众平台(https://mp.weixin.qq.com)查看开发文档并下载官方提供的demo。做适当修改。

4.将代码压缩成zip格式,上传到sae平台。

5.登录微信公众平台,进入开发者中心。开启“服务者配置”。

6.成功了。

 

开始吧:

1.先注册一个公众号(https://mp.weixin.qq.com);个人可以注册订阅号(公众号的一种)。

2.注册sae(http://sae.sina.com.cn/)

  注册完以后要记得进行实名认证,不然绑定到公众平台的时候,会有永远的“无法获取token”的提示。(实名认证需要3个工作日才能成功)

  然后可以点击创建应用。创建后可以在下面看到。

微信公众平台开发——helloworldimages/loading.gif' data-original="http://images.cnblogs.com/cnblogs_com/jinhuazhe2013/714359/o_sae.jpg" width="726" height="553" />

  

  进入自己创建的应用。然后点击代码管理。

  微信公众平台开发——helloworld

微信公众平台开发——helloworld

 

3.登录微信公众平台(https://mp.weixin.qq.com)

  查看开发文档并下载官方提供的demo。

  微信公众平台开发——helloworld

微信公众平台开发——helloworld

微信公众平台开发——helloworld  

 

  打开后是如下的代码:

<?php/** * wechat php test *///define your tokendefine("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)){        /* lib*/        libtrue);         $postObj = simple($postStr, 'Simple LIB$fromUsername = $postObj->FromUserName;        $toUsername = $postObj->ToUserName;        $keyword = trim($postObj->Content);        $time = time();        $textTpl = "<";               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()  {    // you must define TOKEN by yourself    if (!defined("TOKEN")) {      throw new Exception('TOKEN is not defined!');    }        $signature = $_GET["signature"];    $timestamp = $_GET["timestamp"];    $nonce = $_GET["nonce"];            $token = TOKEN;    $tmpArr = array($token, $timestamp, $nonce);    // use SORT_STRING rule    sort($tmpArr, SORT_STRING);    $tmpStr = implode( $tmpArr );    $tmpStr = sha1( $tmpStr );        if( $tmpStr == $signature ){      return true;    }else{      return false;    }  }}?>

  我试过,如上代码,似乎无法执行到response那一块。所以做了更改

<?php/** * wechat php test *///define your tokendefine("TOKEN", "weixin");$wechatObj = new wechatCallbackapiTest();//这里做了更改if($_GET["echostr"]){  $wechatObj->valid();}else{  $wechatObj->responseMsg();}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)){        /* lib*/        libtrue);         $postObj = simple($postStr, 'Simple LIB$fromUsername = $postObj->FromUserName;        $toUsername = $postObj->ToUserName;        $keyword = trim($postObj->Content);        $time = time();        $textTpl = "<";               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()  {    // you must define TOKEN by yourself    if (!defined("TOKEN")) {      throw new Exception('TOKEN is not defined!');    }        $signature = $_GET["signature"];    $timestamp = $_GET["timestamp"];    $nonce = $_GET["nonce"];            $token = TOKEN;    $tmpArr = array($token, $timestamp, $nonce);    // use SORT_STRING rule    sort($tmpArr, SORT_STRING);    $tmpStr = implode( $tmpArr );    $tmpStr = sha1( $tmpStr );        if( $tmpStr == $signature ){      return true;    }else{      return false;    }  }}?>

 

  你可以将Welcome to wechat world!更改为Hello World!

4.将代码压缩成zip格式,上传到sae平台。

微信公众平台开发——helloworld

  点击“编辑代码”,可以看到你上传的php文件。然后右击,url查看。复制url(http://1.carlzhang.sinaapp.com/wx_carlzhang819.php)。在这里要记住在此php文件中定义的token。此处为“weixin”,可以在如下图中看到。

微信公众平台开发——helloworld

 

5.登录微信公众平台,进入开发者中心。开启“服务者配置”。url填写上一步复制的url(这里我删除了前面的1.因为我的sae默认第一版。你可以试试,删除1,若是url访问,不报404,那就是没问题)。token填写的是代码中的token(上面是“weixin”)。

微信公众平台开发——helloworld

微信公众平台开发——helloworld

 

  如果启用成功,就可以关注你的微信平台,输入内容,看看提示是不是Welcome to wechat world!或者Hello World!

  是的?那祝贺你,成功了。

 




原标题:微信公众平台开发——helloworld

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流