。token是密碼,URL是你部署買粉絲買粉絲服務器的地址。開發就是將高級功能接口文件部署在服務器上,使能被訪問。接口文件在買粉絲買粉絲幫助文檔里面找。token是你在接口文件里自己設置的,設置后回到高級功能里來設置成一樣的,目的是告訴公眾平臺,那個服務器是我的,不信你看token都是一樣的,這個過程就是驗證密碼。
所以,token是你設置的,URL是你自己擁有的服務器的接口地址。
用得著判斷那個TOKEN?是不是多此一舉,用我這個,包你滿意
<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends WechatController {
public function index(){
$v = $_GET["echostr"];
if(!isset($v)){ //根據隨機字符串判斷是否之前已經驗證過,避免重復驗證
$this->receive();
}else{
$this->checkSignature();
}
}
//未驗證執行驗證
public function checkSignature(){
$signature = I("signature");//加密簽名
$timestamp = I("timestamp");//時間戳
$nonce = I("nonce");//隨機數
$token = TOKEN;//token
$tmpArr = array($token,$timestamp, $nonce);//組成新數組
sort($tmpArr,SORT_STRING);//重新排序
$tmpStr = implode($tmpArr);//轉換成字符串
$tmpStr = sha1($tmpStr);//再將字符串進行加密
if( $tmpStr == $signature )
{
echo $_GET["echostr"];
exit;
//return true;
}else{
return false;
}
}
//已經驗證過執行這里
public function receive(){
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];//獲取用戶發送的消息,格式為xml
//$postStr = file_get_買粉絲ntents("php://input");
libxml_disable_entity_loader(true);
$postObj = simplexml_load_string($postStr, "SimpleXMLElement", LIBXML_NOCDATA);
$this->logger($postStr);
//并且回復信息給用戶
if(!empty($postObj)){
switch($postObj->MsgType){
case "text":
$result = $this->receiveText($postObj);
//避免錯誤信息報出
if(empty($result)){
$xml = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
</xml>";
$result = sprintf($xml,$postObj->FromUserName,$postObj->ToUserName,time(),$postObj->MsgType,"多圖文信息沒有獲取到");
}
echo $result;
break;
case "image":
$result = $this->receiveImage($postObj);
if(empty($result)){
$xml ="<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<ArticleCount>1</ArticleCount>
<Articles>
<item>
<Title><![CDATA[%s]]></Title>
<Description><![CDATA[%s]]></Description>
<PicUrl><![CDATA[%s]]></PicUrl>
<Url><![CDATA[%s]]></Url>
</item>
</Articles>
</xml>";
$result = sprintf($xml,$postObj->FromUserName,$postObj->ToUserName,time(),"news","跟老李一起來做買粉絲開發","買粉絲開發即買粉絲公眾平臺開發,將企業信息、服務、活動等內容通過買粉絲網頁的方式進行表現,用戶通過簡單的設置,就能生成買粉絲3G網站。通過買粉絲公眾平臺將企業品牌展示給買粉絲用戶,減少宣傳成本,建立企業與消費者、客戶的一對一互動和溝通,將消費者接入企業CRM系統,進行促銷、推廣、宣傳、售后等。形成了一種主流的線上線下買粉絲互動營銷方式。","買粉絲s://gss3.bdstatic.買粉絲/-Po3dSag_xI4khGkpoWK1HF6hhy/ke/w%3D268%3Bg%3D0/sign=a1070f7517dfa9ecfd2e51115aeb903e/b03533fa828ba61efb07a5464734970a314e59e9.jpg","買粉絲://買粉絲..買粉絲");
}
echo $result;
break;
case "event":
$result = $this->receiveEvent($postObj);
if(empty($result)){
$xml = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime