天天看點

微信公衆平台開發(二)——access_token、日志一、access_token二、推送日志

1)兩種access_token,網頁授權access_token和普通access_token

1、微信網頁授權是通過OAuth2.0機制實作的,在使用者授權給公衆号後,公衆号可以擷取到一個網頁授權特有的接口調用憑證(網頁授權access_token),通過網頁授權access_token可以進行授權後接口調用,如擷取使用者基本資訊。

2、其他微信接口,需要通過基礎支援中的“擷取access_token”接口來擷取到的普通access_token調用。access_token是公衆号的全局唯一票據,access_token的有效期目前為2個小時,需定時重新整理,重複擷取将導緻上次擷取的access_token失效。

2)分别擷取access_token

可以看到通過code換取網頁授權access_token,而這個code是通過微信的一個授權連結擷取到的,然後再根據文檔中的請求擷取到的,具體的連結位址和參數可以參考文檔。

這裡需要注意的是,擷取到的token,是有時效性的,2 個小時,是以我會儲存在MongoDB中,先從資料庫中比對逾時了沒有,沒有的話就直接從資料庫中擷取,減少不必要的請求。

在微信的入口頁面中,也就是前面提到的URL(伺服器位址),會在這裡面做儲存日志的邏輯。邏輯包括關注的時候推送一條消息,二維碼掃描關注,點選某個菜單産生事件,點選菜單的超連結等。

日志結構如下:

1、代碼中包括簽名驗證邏輯

2、通過file_get_contents('php://input')來擷取請求資料,就是下面的getRawMsg方法

3、将推送日志直接塞入到MongoDB中

4、将接收到的請求資訊SimpleXMLElement對象,就是下面的parseMsg方法

5、handleEventMsg就是在處理各種不同情況了

6、如果要推送消息,die這個方法得要加上

7、下面的代碼隻列舉了兩種事件情況,一種是訂閱、一種是點選事件

demo下載下傳:

    本文轉自 咖啡機(K.F.J)   部落格園部落格,原文連結:http://www.cnblogs.com/strick/p/4747374.html,如需轉載請自行聯系原作者