迴歸PHP(一)——微信接入獲取用戶信息

最近在作公司的微信接入部分。目前接入部分代碼已經由別人寫好,可是還有不少問題。通過幾天痛苦的看文檔和代碼,整理一下接入流程,大體至關於微信官方文檔的擴展版本。附上官網文檔連接html

微信登陸接入分爲兩種,一種是隻須要用戶openid,另外一種是須要用戶暱稱和頭像等亂七八糟的另外一些信息。第一種能夠不通過受權,若是用戶已經關注該公衆號,則該公衆號的回調連接能夠直接獲取到用戶openid。第二種不管是否關注公衆號,都必須通過受權,也就是一個頁面帶綠色大按鈕那種,官方文檔有圖。可是第二種接入,也必須先走完第一種接入流程。api

只獲取openid的接入

服務號得到高級接口後,默認擁有scope參數中的snsapi_base和snsapi_userinfo,這是官網文檔的說法。獲取的連接爲:https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
appid和回調連接不用多說,state是一個可選參數,惟一須要重視的就是scope這個參數。選snsapi_base,可以獲取到openid,這個能夠用做惟一用戶id使用。若是不須要用戶暱稱,讓用戶後續自行設置,那麼到此爲止就能夠了。微信

獲取用戶暱稱的接入

走完第一步之後,能夠獲取到openid同時能夠獲取到一個access_token,這個token專門用來獲取用戶其餘信息。可是,重點來了,想獲取用戶其餘信息,第一步使用的scope參數,必須是snsapi_userinfo。第一步獲取完信息之後,用access_token作參數,去https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN這個連接裏,調用一次get函數,從返回值裏就能夠取到用戶數據了。app

若是有什麼遺漏錯誤歡迎在下面留言。函數

相關文章
相關標籤/搜索