成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導(dǎo)航首頁(yè) ? 技術(shù)教程 ? PHP技術(shù)開發(fā)微信公眾平臺(tái)
全站頭部文字 我要出現(xiàn)在這里
PHP技術(shù)開發(fā)微信公眾平臺(tái) 775 2023-12-10   

下面通過圖文并茂的方式介紹微信公眾平臺(tái)開發(fā)過程,具體內(nèi)容如下:

微信公眾平臺(tái)有兩種模式:編輯模式 和 開發(fā)模式。

普通的功能可以通過編輯模式來搞定。開發(fā)模式具有更多的功能。讓我們來使用開發(fā)模式開發(fā)helloword吧

步驟如下:

第一步:先注冊(cè)一個(gè)公眾號(hào)(https://mp.weixin.qq.com)

第二步:注冊(cè)sae(http://sae.sina.com.cn/),作為你的服務(wù)器。

第三步:登錄微信公眾平臺(tái)(https://mp.weixin.qq.com)查看開發(fā)文檔并下載官方提供的demo。做適當(dāng)修改。

第四步:將代碼壓縮成zip格式,上傳到sae平臺(tái)。

第五步:登錄微信公眾平臺(tái),進(jìn)入開發(fā)者中心。開啟“服務(wù)者配置”。

第六步:成功了。

開始吧:

1.先注冊(cè)一個(gè)公眾號(hào)(https://mp.weixin.qq.com)

2.注冊(cè)sae(http://sae.sina.com.cn/)

注冊(cè)完以后要記得進(jìn)行實(shí)名認(rèn)證,不然綁定到公眾平臺(tái)的時(shí)候,會(huì)有永遠(yuǎn)的“無法獲取token”的提示。(實(shí)名認(rèn)證需要3個(gè)工作日才能成功)

然后可以點(diǎn)擊創(chuàng)建應(yīng)用。創(chuàng)建后可以在下面看到。

查看圖片

進(jìn)入自己創(chuàng)建的應(yīng)用。然后點(diǎn)擊代碼管理。

查看圖片

查看圖片

3.登錄微信公眾平臺(tái)(https://mp.weixin.qq.com)

查看開發(fā)文檔并下載官方提供的demo。

查看圖片

查看圖片

查看圖片

打開后是如下的代碼:

<?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)){
  /* libxml_disable_entity_loader is to prevent XML eXternal Entity Injection,
   the best way is to check the validity of xml by yourself */
  libxml_disable_entity_loader(true);
   $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()
 {
 // 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;
 }
 }
}
?>

我試過,如上代碼,似乎無法執(zhí)行到response那一塊。所以做了更改

<?php
/**
 * wechat php test
 */
//define your token
define("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)){
  /* libxml_disable_entity_loader is to prevent XML eXternal Entity Injection,
   the best way is to check the validity of xml by yourself */
  libxml_disable_entity_loader(true);
   $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()
 {
 // 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 Word!

4.將代碼壓縮成zip格式,上傳到sae平臺(tái)。

查看圖片

點(diǎn)擊“編輯代碼”,可以看到你上傳的php文件。然后右擊,url查看。復(fù)制url(http://1.carlzhang.sinaapp.com/wx_carlzhang819.php)。在這里要記住在此php文件中定義的token。此處為“weixin”,可以在如下圖中看到。

查看圖片

5.登錄微信公眾平臺(tái),進(jìn)入開發(fā)者中心。開啟“服務(wù)者配置”。url填寫上一步復(fù)制的url(這里我刪除了前面的1.因?yàn)槲业膕ae默認(rèn)第一版。你可以試試,刪除1,若是url訪問,不報(bào)404,那就是沒問題)。token填寫的是代碼中的token(上面是“weixin”)。

查看圖片

查看圖片

如果啟用成功,就可以關(guān)注你的微信平臺(tái),輸入內(nèi)容,看看提示是不是Welcome to wechat world!或者Hello Word!

以上全部?jī)?nèi)容就是針對(duì)微信公眾平臺(tái)做的講解,希望可以幫助到大家。


主站蜘蛛池模板: a级免费电影| 马德哈万| 今天cctv6节目表| 五年级下册第四单元语文园地| 金首露| 小恩雅骑马舞蹈视频| 聊斋艳谭之荷花三娘子| 电视剧警察锅哥免费观看全集| stylistic device| 裸舞在线观看| 但愿人长久| 白世莉电影 | 小姐电影韩国| 游泳池play高h| 电影《地狱》1979| 《优越极限》在线观看免费韩剧| 林东升| 伊藤步| 河西走廊纪录片观后感| 456电影网络重口味456| 陈冠希的艳照门| cgtn英语频道在线直播观看| 拆迁补偿合同| 五年级歇后语大全| 舞法天女第三季| 数控图纸| 亚洲春黄| high heels| 小班安全开学第一课| superstar电影在线播放| 坂本梨沙| 风月电视剧免费观看剧情| 意大利诱惑| 洪江市舒子阳| 我家大师兄太逆天了| 菊次郎的夏天钢琴演奏完整版| 张美仁爱| 电影《大突围》免费观看国语| 汪小敏的老公是谁| 数码宝贝第三部| 蒲谷英的功效与作用|

!!!站長(zhǎng)長(zhǎng)期在線接!!!

網(wǎng)站、小程序:定制開發(fā)/二次開發(fā)/仿制開發(fā)等

各種疑難雜癥解決/定制接口/定制采集等

站長(zhǎng)微信:lxwl520520

站長(zhǎng)QQ:1737366103