微信入門開發(java)----第一章:access_token和openid的獲取

 我是一個java程序員,一直以來做的都是Web項目。有一段時間,公司業務比較多。導致負責公司公衆號維護的項目組同事都去幫忙了,所有我就暫時負責一段時間公司的公衆號的二次開發。之前做過支付寶的開發。在接觸微信開發之後,發現微信開發裏面的限制很多。相比較支付寶而言也比較苛刻。接觸一段時間後,慢慢也瞭解了微信開發的流程。寫這篇博客的目的呢。一是寫了後期自己看,畢竟有時候,很容易忘記,寫下來,算有個筆記。二來呢,針對第一次接觸微信開發的童鞋們,微信技術文檔看起來還是講的比較官方和晦澀。我這裏呢,用代碼示例和大白話簡單說一下,也幫助各位微信開發的新人去了解。好了,閒話少說,我先說說微信開發的流程。
 建議之前最好能認真讀一篇微信技術開發文檔:
 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1472017492_58YV5
 好了,我簡單說一下我一開始開發的流程吧。
 開發前準備:申請公衆號,公司開發的話,公司會提前申請號一個公衆號。如果沒有的話,可以自己申請一個測試的微信公衆號,裏面的接口能滿足大部分的開發測試。下面是我的測試號。其中域名一定要注意了,這個域名是與你微信公號進行綁定的,在綁定成功之後,微信公號會這個這個域名授權。意思是微信的回調函數會回調到這個域名下的某一個方法或者頁面。如果沒有公衆號與域名沒有綁定的話,公衆號無法進行回調的。我開發時用的是公司的測試公衆號。

這裏寫圖片描述
獲取access_token:微信開發文檔獲取access_token的說明連接:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183。上面說的很清楚。一般access_token在本地存儲是通過redis服務器或者數據庫進行存儲。有條件。建議最好用redis存儲。下面項目裏面獲取access_token的代碼。獲取的access_token的自行存儲
這裏寫圖片描述

這裏寫圖片描述
獲取openid:openid微信裏面也說明。說明:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842。我這邊也簡單說明一下吧。openid就是某一個用戶通過微信掃描關注了你的公衆號後,微信針對你的公衆號給這個微信用戶分配的唯一且不重複的標識。打個比喻。你的公衆號是一個網站,而這個openid就是這個人登錄你的網站時用的登錄名。這樣應該就明白了吧。只要這個人通過微信掃描的二維碼的訪問路徑是訪問到你的公衆號項目裏面的,你就可以通過代碼獲取到這個人openid。當然你可以根據這個openid查詢到這個人的基本信息。這個openid的常規作用就是標識的作用。下面是獲取openid的代碼:

第一步:我這邊二維碼掃描的路徑是直接訪問到IuuiLoginController的loginQueryUser方法

第二步:這裏我說明一下,host參數的意思:因爲在獲取openid之前還需要獲取到一個參數,用戶授權的code。所以host中的OpenIdHandler是獲取code的方法;config.APPID是你公衆號的APPid
這裏寫圖片描述

第三步:在項目裏面配置OpenIdHandler的路徑,在web.xml配置
這裏寫圖片描述

第四步:OpenIdHandler的方法。獲取到code之後。根據code再獲取的openid,並把openid存儲到session裏面。爲什麼要存儲到session裏面呢,因爲這個方法執行完成之後回重定向,重新再訪問一次IuuiLoginController裏面loginQueryUser方法,防止獲取的openid丟失問題,所以纔會存儲到session裏面
這裏寫圖片描述

第五步:回到IuuiLoginController裏面loginQueryUser方法,這個時候從session裏面就能取到Openid方法了。
這裏寫圖片描述

好了,暫時說到這裏了,如果有錯誤的地方,請各位大能多多批評。也是剛剛纔接觸微信開發不久。後面如果再學到其他的關於微信的知識點。我會及時的梳理並且與大家分享。謝謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章