用戶掃描帶場景值二維碼時,可能推送以下兩種事件:
如果用戶還未關注公眾號,則用戶可以關注公眾號,關注后微信會將帶場景值關注事件推送給開發者,
如果用戶已經關注公眾號,則微信會將帶場景值掃描事件推送給開發者,
1. 用戶未關注時,進行關注后的事件推送
推送XML資料包示例:
<xml><ToUserName><![CDATA[toUser]></ToUserName>
<FromUserName><![CDATA[FromUser]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]></MsgType>
<Event><![CDATA[subscribe]></Event>
<EventKey><![CDATA[qrscene_123123]></EventKey>
<Ticket><![CDATA[TICKET]></Ticket>
</xml>
引數說明:
引數 描述
ToUserName 開發者微信號
FromUserName 發送方帳號(一個OpenID)
CreateTime 訊息創建時間 (整型)
MsgType 訊息型別,event
Event 事件型別,subscribe
EventKey 事件KEY值,qrscene_為前綴,后面為二維碼的引數值
Ticket 二維碼的ticket,可用來換取二維碼圖片
2. 用戶已關注時的事件推送
推送XML資料包示例:
<xml>
<ToUserName><![CDATA[toUser]></ToUserName>
<FromUserName><![CDATA[FromUser]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]></MsgType>
<Event><![CDATA[SCAN]></Event>
<EventKey><![CDATA[SCENE_VALUE]></EventKey>
<Ticket><![CDATA[TICKET]></Ticket>
</xml>
引數說明:
引數 描述
ToUserName 開發者微信號
FromUserName 發送方帳號(一個OpenID)
CreateTime 訊息創建時間 (整型)
MsgType 訊息型別,event
Event 事件型別,SCAN
EventKey 事件KEY值,是一個32位無符號整數,即創建二維碼時的二維碼scene_id
Ticket 二維碼的ticket,可用來換取二維碼圖片
案例:
//1、掃碼獲取微信post過來的xml資料
$postArr = $GLOBALS['HTTP_RAW_POST_DATA'];
$postObj = simplexml_load_string( $postArr );
//未訂閱時 ,EventKey為qrscene_1984;訂閱后,EventKey為1984
if( strtolower($postObj->Event) == 'subscribe'){
$account_id = substr(trim($postObj->EventKey), 8);//輸出1984
} else {
$account_id = trim($postObj->EventKey);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/117783.html
標籤:PHP
上一篇:PHP嚴重致命錯誤處理:php Fatal error: Cannot redeclare class or function【轉】
下一篇:我眼中的 RPC
