微信公衆號開發之獲取微信用戶的openID

(注:openID同一用戶同一應用惟一,UnionID同一用戶不一樣應用惟一。不一樣應用指微信開放平臺下的不一樣用戶。)api

一、  申請測試號(得到appID、appsecret)服務器

二、  填寫服務器配置並驗證。微信

服務端編寫接口,參數爲(signature,timestamp,nonce,echostr),並原樣返回echostrapp

    

         驗證以後,可開通更多公衆平臺接口功能。dom

三、  網頁受權獲取用戶基本信息。測試

3.一、在接口權限表配置受權頁面回調域名或ip3d

   

3.二、服務端編寫接口,該接口爲回調頁面的[redirect_uri],即確認受權以後頁面將跳轉至 [redirect_uri]?code=CODE&state=STATE。服務端接收參數CODE值。code

3.三、微信用戶訪問下面連接,受權。xml

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=[redirect_uri]&response_type=code&scope=SCOPE&state=123#wechat_redirectblog

(scope=snsapi_base,默認受權,直接跳轉;scope= snsapi_userinfo,受權再跳轉)

 

3.三、獲取code後,請求如下連接,便可返回openID等數據(以下圖)。

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

 

(三、方法二:接收事件推送(事件:關注、取關、掃碼、報位置、自定義菜單事件),這些事件觸發的時候,會把一個xml數據包(以下圖)發送到步驟2配的URL上,在服務端解析便可。

個人代碼中用到dom4j解析xml。事件推送以及Token驗證共用那個URL。

 

 

 

其中FromUserName即爲openID。)

四、得到openID

相關文章
相關標籤/搜索