免费的黄色小视频-国产成人综合网-国产乱码精品一区二区三区忘忧草-九色av-亚洲高清毛片一区二区-中文字幕免费视频

關(guān)于

微信公眾平臺的基本開發(fā)

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

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

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

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

<?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;
		}
	}
}

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

define("TOKEN", "yourToken");

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

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

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

//獲取微信發(fā)送數(shù)據(jù)
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

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

    	//發(fā)送消息方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());

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

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

<?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";      // 設(shè)置編碼

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

    $mail->From = "sender@sina.com";        // 發(fā)件人地址(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的文檔和微信的開發(fā)文檔里都有很詳細的說明,只要你會基本的編程,即使不會PHP+mySQl都行,實現(xiàn)這些基本的功能都可以直接學(xué)習(xí),網(wǎng)上也很多例子,而且還有那么多API可以直接用,相信自己就行了!

頂部客服微信二維碼底部
掃描二維碼關(guān)注我為好友
主站蜘蛛池模板: 久久国产首页 | 国产精品国产高清国产专区 | 精品国产日韩亚洲一区在线 | 国产精品一区二区国产 | 成人高清毛片a | 美国一级毛片完整高清 | 欧美三区在线 | 精品丝袜国产自在线拍亚洲 | 老司机深夜影院入口aaaa | 成熟的女性强烈交性视频 | 手机在线视频一区 | 9191精品国产免费不久久 | 美女亚洲综合 | 国产欧美日韩高清专区手机版 | 久久综合一区二区三区 | 久久频这里精品99香蕉久网址 | 黄篇网址 | 欧美在线视频二区 | 国产农村乱子伦精品视频 | 美女很黄很黄是免费的·无遮挡网站 | 久久久国产精品视频 | 久草视频网址 | 手机看片1024国产基地 | 国产不卡在线播放 | 久久国产成人精品 | 在线播放性xxx欧美 在线播放亚洲视频 | 免看一级一片一在线看 | 日本精品久久 | 欧美一级高清片免费一级 | 99在线观看精品免费99 | 自拍 亚洲 欧美 | 日韩一区国产二区欧美三区 | 亚欧成人 | 亚洲欧美日韩国产精品久久 | 日韩国产在线播放 | 国产一区二区在线免费观看 | 欧美国产成人在线 | 亚洲天堂视频一区 | 毛片大片 | 国产福利一区二区在线精品 | 欧美精品a毛片免费观看 |