你的位置:首页 > 操作系统

[操作系统]微信公众平台开发——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个工作日才能成功)

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

  

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

  

 

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

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

  

  

 

  打开后是如下的代码:

<?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平台。

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

 

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

 

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

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

 


贵州旅游团报价贵州旅游团购优惠贵州旅游线路报价贵州旅游指南攻略大全贵州旅游住哪里比较方便流溪河葵花节什么时候开幕?从化流溪河公园葵花节几号开始? 六一去哪玩?_2015北京马戏小丑六一嘉年华有哪些好玩的活动? 英德梦幻风车节有什么好玩的?_英德宝晶宫景区怎么去? 2015苏州乐园啤酒节活动有哪些?_怎么去? 惠来到望天湖怎么走?惠来到白塔望天湖自驾车路线? 望天湖有儿童乐园吗?揭阳望天湖有小孩玩的吗? 梦幻百花洲三月有什么花?东莞梦幻百花洲3月赏花攻略? 东莞梦幻百花洲赏花节有表演吗?梦幻百花洲赏花节表演好看吗? 厦门休闲娱乐的地方有那些? 厦门鼓浪屿景区住宿环境好吗?贵不贵? 光谷最小资最有文艺气息的地方 厦门有那些美食小吃? 去泰国旅游要学会哪些日常用语? 泰国比较出名的寺庙有哪些?泰国寺庙旅游推荐 泰国普吉岛恰隆寺好玩吗?泰国普吉岛恰隆寺怎么样? 暑假去普吉岛旅游天气怎么样?要注意什么? IDT5V991A-2JG Datasheet IDT5V991A-2JG Datasheet IDT71V3559S75BQI Datasheet IDT71V3559S75BQI Datasheet IDT72V3650L6PF8 Datasheet IDT72V3650L6PF8 Datasheet 佳木斯香港三日游 佳木斯香港三日游 佳木斯香港三日游 牡丹江香港二日游 牡丹江香港二日游 牡丹江香港二日游 佳木斯去港澳3日游 佳木斯去港澳3日游 佳木斯去港澳3日游