久久月-久久在视频-久久在现-久久在线播放-亚洲视频你懂的-亚洲视频免

關于

微信公眾平臺的基本開發

36微信-微信公共號與微信營銷

我選用的開發環境是PHP+MySql+SAE(新浪云服務),說實話三個都是第一次接觸,不過想想編程語言都差不多,而且新浪云服務和微信的開發手冊和SDK都是很詳細的,幾乎都能看懂。選用SAE的原因就是免費的,適合新手。最開始我是用百度的,結果它是后付費的,盡管不貴,單花錢總感覺不爽。

推薦閱讀:微信公眾平臺教程四:開發模式講解

首先在微信公眾平臺下載他的SDK,是PHP語音寫的,這也是我用PHP的原因,其實只要能做web開發的語言都可以,網上還有很多是JAVA的,語言都無所謂。進入微信公眾平臺高級功能,開發模式。申請成為開發者,然后會提示你服務器配置,URL和Token,URL是你放在服務器上的入口程序,Token是用于驗證用戶的,其實這個驗證不是驗證用戶的身份,只是驗證你的服務器和微信接口對接成功。這個理解很重要,我最開始一直以為是身份驗證,其實是錯的,當你的服務器和微信連接成功后,驗證程序可以直接刪除。

<?php

/**
  * wechat php test
  */

//define your token

define("TOKEN", "yourToken");
$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, SORT_STRING);
		$tmpStr = implode( $tmpArr );
		$tmpStr = sha1( $tmpStr );

		if( $tmpStr == $signature ){
			return true;
		}else{
			return false;
		}
	}
}

該文件只是驗證服務器和微信對接,沒有其他用途。你只需要修改

define("TOKEN", "yourToken");

把yourToken替換成你的token,可以隨便寫,然后命名為test.php

接下來在新浪云服務器SAE上注冊這樣你就擁有自己的一個虛擬服務器了然后創建自己的應用,二級域名隨便寫,假設我的為自己喜好,開發語言選擇PHP,應用類型選擇web應用,創建完成后,點擊進去管理你的應用,選擇代碼管理,創建一個版本,然后你就可以把剛才test.php文件上傳到服務器上去了直接在根目錄下。然后在微信公眾平臺里開發模式下URL填寫為http://1.test.sinaapp.com/test.php,Token填寫為yourToken,然后提交提示成功了。那么你的微信開發以及成功了一大半了,我是這么認為的,當時就是不明白這個驗證到底什么用,結果一直驗證失敗。

再然后可以修改test.php里的代碼了,直接將剛才的代碼給注釋掉,然后粘貼上你自己的微信開發的代碼。簡單的微信開發就是根據用戶輸入,回復文本,圖文,語音等等消息的。首先就是獲取用戶消息,獲取的用戶消息是XML的,然后提取有用信息,然后根據自己的需求編寫程序

//獲取微信發送數據
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

  //返回回復數據
if (!empty($postStr))
	{
    	//解析數據
          $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);

    	//發送消息方ID
          $fromUsername = $postObj->FromUserName;
    	//接收消息方ID
          $toUsername = $postObj->ToUserName;
   		//消息類型
          $form_MsgType = $postObj->MsgType;

    	//消息時間
    //$time = time();
    	 $time=date("Y-m-d H:i:s",time());
		 $T = getdate(time());

這個是基本的信息獲取,著重注意消息類型,然后還有消息內容,這個在微信的文檔里面有很詳細的說明,就自己看來。

然后就是可以用PHP語音實現基本的數據庫操作和郵件收發操作,這個都可以用PHP實現的,不過SAE里面有MySql和mail服務,你可以直接調用他的API,直接用,也可以自己寫,這里就只貼出郵件發送的代碼吧,就是可以往指定的郵箱發送郵件,類似于網站的反饋模塊.

<?php
//phpmailer類
require_once("class.phpmailer.php");
require_once("class.smtp.php");

//自己寫的function
function SendMailToClient($client,$subject,$message){
    $mail = new PHPMailer();

    //$mail->SMTPDebug  = 2;       // debug選項
    $mail->CharSet = "UTF-8";      // 設置編碼

    $mail->IsSMTP();
    $mail->SMTPAuth = true;                // 設置為安全驗證方式
    $mail->Host     = "smtp.sina.com";        // SMTP服務器地址
    $mail->Username = "test@sina.com";      // 登錄用戶名
    $mail->Password = "password";               // 登錄密碼

    $mail->From = "sender@sina.com";        // 發件人地址(username@163.com)
    $mail->FromName = "backfeed";    

    $mail->WordWrap   = 50;
    $mail->IsHTML(true);            // 是否支持html郵件,true 或false

    $mail->AddAddress("$client");        //客戶郵箱地址
    //$mail->Subject = "【反饋郵件】";
    $mail->Subject = $subject;
    $mail->Body    = $message;
    if(!$mail->Send()){
       echo "Message could not be sent. <p>";
       echo "Mailer Error: " . $mail->ErrorInfo;
       return FALSE;
    }
    return TRUE;
}

?>

就這些了,其實SAE的文檔和微信的開發文檔里都有很詳細的說明,只要你會基本的編程,即使不會PHP+mySQl都行,實現這些基本的功能都可以直接學習,網上也很多例子,而且還有那么多API可以直接用,相信自己就行了!

頂部客服微信二維碼底部
掃描二維碼關注我為好友
主站蜘蛛池模板: 成年人激情视频 | 国产成人18黄网站在线观看网站 | 成人a级高清视频在线观看 成人a毛片 | 国产真人毛片一级视频 | 中文字幕色站 | 久久久久久久久a免费 | 日韩欧美亚洲综合久久99e | 国产三级视频网站 | 亚洲欧美另类专区 | 最新国产午夜精品视频不卡 | 国产精品久久久久久免费 | 久久思思爱| 成年视频国产免费观看 | 欧美一级片在线免费观看 | 高清一区二区在线观看 | 91欧洲在线视精品在亚洲 | 综合 欧美 亚洲日本 | 久久凹凸| 在线看片a| 久久99久久精品免费思思 | 欧美日韩国产成人精品 | 精品国产亚洲人成在线 | 久久在线播放 | 久久国产a | 日韩一级欧美一级一级国产 | 日韩一级精品视频在线观看 | 97精品国产91久久久久久久 | 亚洲欧洲国产成人精品 | 日韩成人毛片高清视频免费看 | 国产成人在线观看免费网站 | 女高中生被cao到哭视频 | 99这里只有精品视频 | 亚洲天堂二区 | 毛片免费网址 | 精品久久久久久影院免费 | 久久综合狠狠综合久久97色 | 亚洲精品午夜国产va久久成人 | 亚洲国产精品免费 | 亚洲毛片在线 | 久久久久久久久久久9精品视频 | 特级淫片国产免费高清视频 |