1. 程式人生 > >縱裏尋她千百度,暮然回首,那人卻在燈火闌珊處(微信三方登陸)

縱裏尋她千百度,暮然回首,那人卻在燈火闌珊處(微信三方登陸)

判斷 esp sage 邏輯判斷 平臺 hat 小技巧 開放平臺 註意

小插曲就是app做微信三方登陸是很久之前,後面又添加了PC的微信三方登陸,而文檔上說unionid是同一個賬號下不同應用統一的,但是app拿的是

uid,導致pc拿的unionid始終對不上,導致浪費了一天的時間都在需找資料統一的問題,還有問題是解決了!希望小夥伴們做app的和pc微信三方

登陸的時候一定要註意,app和pc都要拿unionid!好了下面就開始教大家怎麽整合PC的微信三方登陸了:

1、申請時候所填寫的信息,主要網站信息登記表掃描件是客戶提供意外其他都是自己填寫,註意的是授權回調域要寫一級域名,和調用的時候recudirt_url保持一致

調用接口的步驟

(1):

註意了這個微信的小圖標就是微信登陸的鏈接了,也就是a標簽,href是這個值(官方文檔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)上面的鏈接會返回一個code的參數,這個是換取access_token和openid值的媒介,之後呢就邏輯判斷了

if(isset($_GET['code'])&&$_GET['state']

=='3d6be0a4035d839573b04816624a415e')

{

//調用的是獲取用戶的個人信息的方法

$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和微信公眾平臺用戶授權登陸不一樣,微信公眾平臺的有限制一天,開放平臺的沒有限制,而且必須是同時生成,不能過期,app和PC用戶的信息保持同步就都用["unionid"]

這個是同一個開放平臺下的不同應用["unionid"] 是唯一的,app和PC都要拿這個

得到的結果

array(10) { ["openid"] =>

string(28) "oD5XQwgVj1gLb3_zgjP72uDgESYk"

["nickname"] => string(6) "劉柱"

//用戶的昵稱 ["sex"]

=> int(1) //性別 1:男

["language"] => string(5) "zh_CN"

["city"] => string(6) "南開"

//區 ["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信息保持一致的基準 }

聯系我們:

思夢PHP官方交流1群 466388300

思夢PHP官方交流2群 527490769

作者QQ:476319748

微信公眾平臺:思夢PHP

以上聯系方式備註:微信公眾平臺思夢PHP

我們會定期給大家推送項目實戰中非常有用的小技巧以及好的思維和小功能的案例!微信搜索思夢PHP就可以找到我們了


縱裏尋她千百度,暮然回首,那人卻在燈火闌珊處(微信三方登陸)