微信接口生成帶參數(shù)的二維碼
為了滿(mǎn)足用戶(hù)渠道推廣分析的需要,公眾平臺(tái)提供了生成帶參數(shù)二維碼的接口。使用該接口可以獲得多個(gè)帶不同場(chǎng)景值的二維碼,用戶(hù)掃描后,公眾號(hào)可以接收到事件推送。
用戶(hù)掃描帶場(chǎng)景值二維碼時(shí),可能推送以下兩種事件:
(1)如果用戶(hù)還未關(guān)注公眾號(hào),則用戶(hù)可以關(guān)注公眾號(hào),關(guān)注后微信會(huì)將帶場(chǎng)景值關(guān)注事件推送給開(kāi)發(fā)者。
(2)如果用戶(hù)已經(jīng)關(guān)注公眾號(hào),在用戶(hù)掃描后會(huì)自動(dòng)進(jìn)入會(huì)話(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)文章
laravel框架創(chuàng)建授權(quán)策略實(shí)例分析
這篇文章主要介紹了laravel框架創(chuàng)建授權(quán)策略,結(jié)合實(shí)例形式分析了laravel框架創(chuàng)建授權(quán)策略的相關(guān)步驟、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2019-11-11微信公眾平臺(tái)實(shí)現(xiàn)獲取用戶(hù)OpenID的方法
這篇文章主要介紹了微信公眾平臺(tái)實(shí)現(xiàn)獲取用戶(hù)OpenID的方法,需要開(kāi)發(fā)人員經(jīng)過(guò)微信授權(quán)后獲取高級(jí)接口才能使用此功能,用戶(hù)OpenID對(duì)于微信公眾平臺(tái)建設(shè)有著非常廣泛的用途,需要的朋友可以參考下2015-04-04用PHP寫(xiě)的一個(gè)冒泡排序法的函數(shù)簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇用PHP寫(xiě)的一個(gè)冒泡排序法的函數(shù)簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05PHP用正則匹配form表單中所有元素的類(lèi)型和屬性值實(shí)例代碼
這篇文章主要介紹了PHP用正則匹配form表單中所有元素的類(lèi)型和屬性值的方法,文中給出了完整的實(shí)例代碼,大家可以直接參考學(xué)習(xí),下面來(lái)一起看看吧。2017-02-022017年最好用的9個(gè)php開(kāi)發(fā)工具推薦(超好用)
對(duì)于php初學(xué)者不知道哪個(gè)php開(kāi)發(fā)工具好用,下面小編給大家分享2017年最好用的9個(gè)php開(kāi)發(fā)工具推薦,感興趣的朋友一起看看吧2017-10-10關(guān)于php中的json_encode()和json_decode()函數(shù)的一些說(shuō)明
下面小編就為大家?guī)?lái)一篇關(guān)于php中的json_encode()和json_decode()函數(shù)的一些說(shuō)明。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11Apache無(wú)法自動(dòng)跳轉(zhuǎn)卻顯示目錄的解決方法
這篇文章主要為大家詳細(xì)介紹了Apache無(wú)法自動(dòng)跳轉(zhuǎn)卻顯示目錄的解決方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-07-07linux實(shí)現(xiàn)php定時(shí)執(zhí)行cron任務(wù)詳解
linux實(shí)現(xiàn)php定時(shí)執(zhí)行cron任務(wù)2013-12-12