access_token是買粉絲的全局唯一票據,買粉絲調用各接口時都需使用access_token。開發者需要進行妥善保存。
access_token的存儲至少要保留512個字符空間。access_token的有效期目前為2個小時,需定時刷新,重復獲取將導致上次獲取的
access_token失效。
access_token的獲取:
<?php
define("APPID", "您的appid");
define("APPSECRET", "您的appsecret ");
$token_access_url = "買粉絲s://api.weixin.qq.買粉絲/cgi-bin/token?grant_type=client_credential&appid=" . APPID . "&secret=" . APPSECRET;
$res = file_get_買粉絲ntents($token_access_url); //獲取文件內容或獲取網絡請求的內容
//echo $res;
$result = json_de買粉絲de($res, true); //接受一個 JSON 格式的字符串并且把它轉換為 PHP 變量
$access_token = $result['access_token'];
echo $access_token;
php>
用得著判斷那個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網站。通過買粉絲公眾平臺將企業品
2024-07-25 16:13
2024-07-25 15:38
2024-07-25 15:14
2024-07-25 14:40
2024-07-25 14:08
2024-07-25 14:03