微信开发之网页授权
首先,需要說(shuō)明的是,網(wǎng)頁(yè)授權(quán)要求公眾號(hào)是服務(wù)號(hào),且完成認(rèn)證才行。
微信開(kāi)發(fā)文檔網(wǎng)頁(yè)授權(quán)有四步:
1、第一步:用戶同意授權(quán),獲取code
2、 第二步:通過(guò)code換取網(wǎng)頁(yè)授權(quán)access_token、openid
3、 第三步:刷新access_token(如果需要)
4、 第四步:拉取用戶信息(需scope為 snsapi_userinfo)
snsapi_base: 到第二步就結(jié)束了,獲取到openid,其他操作在這個(gè)基礎(chǔ)上(比如記錄該用戶訪問(wèn)時(shí)間次數(shù)信息)
snsapi_userinfo: 獲取openid和用戶資料(昵稱(chēng)、頭像、國(guó)、省、城市、性別、權(quán)限)
這里主要說(shuō)的是snsapi_userinfo模式
一、在微信后臺(tái)配置
在微信公眾平臺(tái)下的開(kāi)發(fā)->接口權(quán)限->網(wǎng)頁(yè)服務(wù)->網(wǎng)頁(yè)授權(quán)中的網(wǎng)頁(yè)授權(quán)獲取用戶基本信息
點(diǎn)擊修改
設(shè)置域名為你服務(wù)器的域名,注意,不需要加http(s)://
二、授權(quán)代碼
? 1、用戶授權(quán)獲取code
$redirect_uri?=?urlencode?(?'http://你的域名/getUserInfo.php'?);$url?="https://open.weixin.qq.com/connect/oauth2/authorize?appid=$appid&redirect_uri=$redirect_uri&response_type=code&scope=snsapi_base&state=1#wechat_redirect";$this->redirect($url,302);?2、獲取openid及用戶信息
$code = $_GET['code'];//獲取openid和access_token$url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$this->appId&secret=$this->appSecret&code=$code&grant_type=authorization_code";$curl = new Curl();$curl->setOpt(CURLOPT_SSL_VERIFYPEER, false);$curl->setOpt(CURLOPT_SSL_VERIFYHOST, false);$curl->get($url);$djson = $curl->response;$rjson = json_decode($djson,true);$access_token = $rjson['access_token'];//得到access_token$openId = $rjson['openid'];//得到openid//獲取用戶信息$userInfoUrl = "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openId&lang=zh_CN";//獲取用戶信息$curl1 = new Curl();$curl1->setOpt(CURLOPT_SSL_VERIFYPEER, false);$curl1->setOpt(CURLOPT_SSL_VERIFYHOST, false);$curl1->get($userInfoUrl);$result = $curl1->response;$result = json_decode($result,true);dump($result);參考文章:https://www.cnblogs.com/lola/p/6639110.html
總結(jié)
- 上一篇: boost::stacktrace::d
- 下一篇: LaTeX局部改变字体类型