小插曲就是app做微信三方登陸是很久之前,后面又添加了PC的微信三方登陸稍坯,而文檔上說unionid是同一個(gè)賬號下不同應(yīng)用統(tǒng)一的酬荞,但是app拿的是
uid,導(dǎo)致pc拿的unionid始終對不上瞧哟,導(dǎo)致浪費(fèi)了一天的時(shí)間都在需找資料統(tǒng)一的問題混巧,還有問題是解決了!希望小伙伴們做app的和pc微信三方
登陸的時(shí)候一定要注意勤揩,app和pc都要拿unionid咧党!好了下面就開始教大家怎么整合PC的微信三方登陸了:
1、申請時(shí)候所填寫的信息陨亡,主要網(wǎng)站信息登記表掃描件是客戶提供意外其他都是自己填寫傍衡,注意的是授權(quán)回調(diào)域要寫一級域名,和調(diào)用的時(shí)候recudirt_url保持一致
調(diào)用接口的步驟
(1):
注意了這個(gè)微信的小圖標(biāo)就是微信登陸的鏈接了负蠕,也就是a標(biāo)簽蛙埂,href是這個(gè)值(官方文檔1號店的微信登陸)
https://open.weixin.qq.com/connect/qrconnect?appid=wxbdc5610cc59c1631&redirect_uri=https://passport.yhd.com/wechat/callback.do&response_type=code&scope=snsapi_login&state=3d6be0a4035d839573b04816624a415e#wechat_redirect
(2)上面的鏈接會返回一個(gè)code的參數(shù),這個(gè)是換取access_token和openid值的媒介遮糖,之后呢就邏輯判斷了
if(isset($_GET['code'])&&$_GET['state']
=='3d6be0a4035d839573b04816624a415e')
{
//調(diào)用的是獲取用戶的個(gè)人信息的方法
$res
=
$this->message_request($code);
}
public functionmessage_request($code){
//修改自己的
$appid =
"wx16a15ed57ec7333d";
$appsecret =
"fc4b2b999787c31733c4bf85f295742b";
//修改自己的
$url =
"https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$appsecret&code=$code&grant_type=authorization_code";
$output =
$this->httpsRequest($url);
$jsoninfo =
json_decode($output,true);
$openid =
$jsoninfo["openid"];
$access_token =
$jsoninfo['access_token'];
$url =
"https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN";
$output =
$this->httpsRequest($url);
$message =
json_decode($output,true);
return$message;
}
public functionhttpsRequest($url,$data
=null){
$curl =
curl_init();
curl_setopt($curl,CURLOPT_URL, $url);
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,FALSE);
if(!empty($data)){
curl_setopt($curl,CURLOPT_POST, 1);
curl_setopt($curl,CURLOPT_POSTFIELDS, $data);
}
curl_setopt($curl,CURLOPT_RETURNTRANSFER, 1);
$output =
curl_exec($curl);
curl_close($curl);
return$output;
}
重要:
access_token和微信公眾平臺用戶授權(quán)登陸不一樣绣的,微信公眾平臺的有限制一天,開放平臺的沒有限制止吁,而且必須是同時(shí)生成被辑,不能過期,app和PC用戶的信息保持同步就都用["unionid"]
這個(gè)是同一個(gè)開放平臺下的不同應(yīng)用["unionid"] 是唯一的敬惦,app和PC都要拿這個(gè)
得到的結(jié)果
array(10) { ?["openid"] =>
string(28) "oD5XQwgVj1gLb3_zgjP72uDgESYk"
["nickname"] => string(6) "劉柱"
//用戶的昵稱 ?["sex"]
=> int(1) ?//性別 1:男
["language"] => string(5) "zh_CN"
["city"] => string(6) "南開"
//區(qū) ?["province"]
=> string(7) "天津" ?//省
["country"] => string(2) "天津" //市
["headimgurl"] => string(129)
"http://wx.qlogo.cn/mmopen
/aQVS6rQD9yJTTHTcyb0AqLOQ3rBoyNL3CyEJleogBib53Y6xiaibZvfZ6quDApeKuPG10sCYKkDvPwkiayUj3dMXjNicOVkV73x1k
/0"
//用戶的頭像 ?["privilege"]
=> array(0) { ?}
["unionid"] => string(28)
"o2VJ4xEUwd51_7F2bhisYBhF3fVk" ?//unionid
app和pc信息保持一致的基準(zhǔn) }
聯(lián)系我們:
思夢PHP官方交流1群 466388300
思夢PHP官方交流2群 527490769
作者QQ:476319748
微信公眾平臺:思夢PHP?
以上聯(lián)系方式備注:微信公眾平臺思夢PHP
我們會定期給大家推送項(xiàng)目實(shí)戰(zhàn)中非常有用的小技巧以及好的思維和小功能的案例盼理!微信搜索思夢PHP就可以找到我們了