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

關(guān)于

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

36微信-微信公共號(hào)與微信營銷

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

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

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

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

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

define("TOKEN", "yourToken");

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

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

再然后可以修改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;

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

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

然后就是可以用PHP語音實(shí)現(xiàn)基本的數(shù)據(jù)庫操作和郵件收發(fā)操作,這個(gè)都可以用PHP實(shí)現(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選項(xiàng)
    $mail->CharSet = "UTF-8";      // 設(shè)置編碼

    $mail->IsSMTP();
    $mail->SMTPAuth = true;                // 設(shè)置為安全驗(yàn)證方式
    $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;
}

?>

就這些了,其實(shí)SAE的文檔和微信的開發(fā)文檔里都有很詳細(xì)的說明,只要你會(huì)基本的編程,即使不會(huì)PHP+mySQl都行,實(shí)現(xiàn)這些基本的功能都可以直接學(xué)習(xí),網(wǎng)上也很多例子,而且還有那么多API可以直接用,相信自己就行了!

頂部客服微信二維碼底部
掃描二維碼關(guān)注我為好友
主站蜘蛛池模板: 2019国产精品| 国产精品偷伦费观看 | 免费观看成人久久网免费观看 | 国产在线精品二区韩国演艺界 | 日韩三级在线免费观看 | 99视频在线播放 | 欧美怡红院在线 | 国产成人精品高清在线 | 在线成年人网站 | 午夜日韩 | 三级毛片在线看 | 亚洲视频自拍 | 成人18免费观看的软件 | 亚洲欧美日韩中文字幕在线一区 | 三级黄色毛片网站 | 亚洲视色 | 久爱www免费人成福利播放 | 精品一久久香蕉国产线看播放 | 国产精品短视频免费观看 | 亚洲国产最新在线一区二区 | 美女18网站 | 国产午夜免费福利红片 | 亚洲偷自拍另类图片二区 | 久久久精品久久久久久久久久久 | 欧美成人性色xxxx视频 | 欧美高清性刺激毛片 | 亚洲精品线在线观看 | 在线播放亚洲美女视频网站 | 亚洲精品亚洲人成在线 | 日本精品久久久久久久 | 一a一级片 | 久久精品国产99国产精品免费看 | 香港三级日本三级人妇网站 | 欧美成人私人视频88在线观看 | 国产高清在线观看 | 亚洲精品中文字幕久久久久久 | 99视频在线精品免费观看18 | 成人看的一级毛片 | 成人欧美网站 | 中文在线三级中文字幕 | 一级片视频免费看 |