微信接口生成帶參數(shù)的二維碼
為了滿足用戶渠道推廣分析的需要,公眾平臺(tái)提供了生成帶參數(shù)二維碼的接口。使用該接口可以獲得多個(gè)帶不同場(chǎng)景值的二維碼,用戶掃描后,公眾號(hào)可以接收到事件推送。
用戶掃描帶場(chǎng)景值二維碼時(shí),可能推送以下兩種事件:
(1)如果用戶還未關(guān)注公眾號(hào),則用戶可以關(guān)注公眾號(hào),關(guān)注后微信會(huì)將帶場(chǎng)景值關(guān)注事件推送給開(kāi)發(fā)者。
(2)如果用戶已經(jīng)關(guān)注公眾號(hào),在用戶掃描后會(huì)自動(dòng)進(jìn)入會(huì)話,微信也會(huì)將帶場(chǎng)景值掃描事件推送給開(kāi)發(fā)者。
獲取帶參數(shù)的二維碼的過(guò)程包括兩步:(I)首先創(chuàng)建二維碼ticket;(II)然后憑借ticket到指定URL換取二維碼。
(I)首先創(chuàng)建二維碼ticket
每次創(chuàng)建二維碼ticket需要提供一個(gè)開(kāi)發(fā)者自行設(shè)定的參數(shù)(scene_id)。
/**
* 首先創(chuàng)建二維碼ticket
* @param string $sceneid 場(chǎng)景值ID
* @param string $type 值為'temp'的時(shí)候生成臨時(shí)二維碼
* @param string $expire_seconds 二維碼過(guò)期時(shí)間
* @return string 二維碼ticket
*/
public function _getTicket($sceneid,$type='temp',$expire_seconds=604800){
if($type=='temp'){
$data = '{"expire_seconds": %s, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": %s}}}';
$data = sprintf($data,$expire_seconds,$sceneid);
}else{
$data = '{"action_name": "QR_LIMIT_SCENE", "action_info": {"scene": {"scene_id": %s}}}';
$data = sprintf($data,$sceneid);
}
$curl = 'https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token='.$this->_getAccessToken();
$content = $this->_request($curl,true,'POST',$data);
$cont = json_decode($content);
return $cont->ticket;
}
(II)然后憑借ticket到指定URL換取二維碼
獲取二維碼ticket后,開(kāi)發(fā)者可用ticket換取二維碼圖片。請(qǐng)注意,本接口無(wú)須登錄態(tài)即可調(diào)用。
//然后憑借ticket到指定URL換取二維碼
public function _getQRCode($sceneid,$type='temp',$expire_seconds=604800){
$ticket = $this->_getTicket($sceneid,$type,$expire_seconds);
$curl = 'https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket='.urlencode($ticket);
$content = $this->_request($curl);
return $content;
}
調(diào)用輸出:
header('Content-type:image.jpeg');
$result = $wechat->_getQRCode(30);
echo $result;
總結(jié)
以上所述是小編給大家介紹的微信接口生成帶參數(shù)的二維碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
php實(shí)現(xiàn)微信小程序訂閱消息推送(access_token獲取緩存刷新)
這篇文章主要為大家介紹了php實(shí)現(xiàn)微信小程序訂閱消息推送包含access_token獲取緩存刷新示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
tp5(thinkPHP5)操作mongoDB數(shù)據(jù)庫(kù)的方法
這篇文章主要介紹了tp5(thinkPHP5)操作mongoDB數(shù)據(jù)庫(kù)的方法,結(jié)合實(shí)例形式簡(jiǎn)單分析了mongoDB數(shù)據(jù)庫(kù)及thinkPHP5連接、查詢MongoDB數(shù)據(jù)庫(kù)的基本操作技巧,需要的朋友可以參考下2018-01-01
大家須知簡(jiǎn)單的php性能優(yōu)化注意點(diǎn)
safari下載文件自動(dòng)加了html后綴問(wèn)題

