需要的工具:
微信公眾號(可以申請,但做開發的,可以申請測試號,申請詳細不多說了)
服務器(可以自行購買,我使用的是新浪的sae。)
編輯器(隨意,不做推薦)
微信公眾號開發文檔(地址)https://www.cnblogs.com/jinxiaohang/p/7193505.html
你要完成網頁授權,並獲取用戶信息要完成一下3步驟。
-1-用戶授權並獲取code
-2-使用code換取access_token
-3-使用access_token獲取用戶信息
--------------------用戶授權並獲取code
參數說明
appid=APPID(公眾號唯一標識)
redirect_uri=REDIRECT_URI(授權后重定向的回調鏈接地址)
response_type=code(返回類型,無需更改)
scope=SCOPE(snsapi_base ,不彈出授權頁面,直接跳轉,只能獲取用戶openid),snsapi_userinfo 彈出授權頁面,可通過openid拿到昵稱、性別、所在地。)
state=STATE(重定向后會帶上state參數,開發者可以填寫任意參數值)
#wechat_redirect(無需更改)
地址實例(雖是測試號,但我還是隱藏部分信息)紅色字體需要根據實際更改。
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxe5809c42e6c00d22&redirect_uri=http://dingcanphp.applinzi.com/getUserInfo.php&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect
返回結果(code的值,不一定是顯示在瀏覽器界面上的,具體看你的redirect_uri中的文件)
061h4k8Z1G7AhY0025bZ1nbh8Z1h4k8Q
-----------------使用code換取access_token
參數說明
appid=APPID(公眾號唯一標識)
secret=SECRET(公眾號的appsecret)
code=CODE(第一步獲取的code參數)
grant_type=authorization_code(無需更改)
地址實例(雖是測試號,但我還是隱藏部分信息)紅色字體需要根據實際更改。
https://api.weixin.qq.com/sns/oauth2/access_token?appid=wxe5809c42e6c00d22&secret=5444ba1b31666f6052e9c703f906368b&code=061h4k8Z1G7AhY0025bZ1nbh8Z1h4k8Q&grant_type=authorization_code
返回結果(json格式數據)
{
"access_token": "e1nYJFpZuehfQH1buzHFZLb7onqs_wT1cudSdy9HRlnaMXFtFpRMNFOA0euK6UxPcItrSNbAQVcXDdthbLJYX0MdH1p7-tkZSKuGqBCxVc0",
"expires_in": 7200,
"refresh_token": "0iVsXn4O1rBCASbO7hx8VNVUVFM1RP2Q4xS0giegd4jlIsJYOjTJNZ0b4Dsh_xcoB02ZZ3bt0WH0a47LvjIEPjWUnESJCZyl6EtY_xYZdVs",
"openid": "o47Fa0mp9SRTf3eiKmqWm69BjG_8",
"scope": "snsapi_userinfo"
}
結果解釋
access_token 網頁授權接口調用憑證,注意:此access_token與基礎支持的access_token不同
expires_in access_token接口調用憑證超時時間,單位(秒)
refresh_token 用戶刷新access_token
openid 用戶唯一標識,請注意,在未關注公眾號時,用戶訪問公眾號的網頁,也會產生一個用戶和公眾號唯一的OpenID
scope 用戶授權的作用域,使用逗號(,)分隔
-----------------使用access_token獲取用戶信息
參數說明
access_token=ACCESS_TOKEN(第2步獲取的access_token參數,此access_token與基礎支持的access_token不同)
openid=OPENID(第2步獲取的openid參數)
langlang=zh_CN 返回國家地區語言版本,zh_CN 簡體,zh_TW 繁體,en 英語
地址實例(雖是測試號,但我還是隱藏部分信息)紅色字體需要根據實際更改。
https://api.weixin.qq.com/sns/userinfo?access_token=e1nYJFpZuehfQH1buzHFZLb7onqs_wT1cudSdy9HRlnaMXFtFpRMNFOA0euK6UxPcItrSNbAQVcXDdthbLJYX0MdH1p7-tkZSKuGqBCxVc0&openid=o47Fa0mp9SRTf3eiKmqWm69BjG_8&lang=zh_CN
返回結果(json格式數據)
{
"openid": "o47Fa0mp9SRTf3eiKmqWm69BjG_8",
"nickname": "齊齊",
"sex": 0,
"language": "zh_CN",
"city": "Shaoxing",
"province": "Zhejiang",
"country": "CN",
"headimgurl": "http://wx.qlogo.cn/mmhead/Q3auHgzwzM6kqfcibzzVc8MDGBch53mIgJjWrbKSwkBnzcsWBOMOGlg/0",
"privilege": []
}
結果解釋
openid 用戶的唯一標識
nickname 用戶昵稱
sex 用戶的性別,值為1時是男性,值為2時是女性,值為0時是未知
province 用戶個人資料填寫的省份
city 普通用戶個人資料填寫的城市
country 國家,如中國為CN
headimgurl 用戶頭像,最后一個數值代表正方形頭像大小(有0、46、64、96、132數值可選,0代表640*640正方形頭像),用戶沒有頭像時該項為空
privilege 用戶特權信息,json 數組,如微信沃卡用戶為(chinaunicom)
本文來自:https://www.cnblogs.com/jinxiaohang/p/7193505.html
