一、app端和網站統一用戶的問題php
新浪微博:uid微博全站統一,請使用uid做爲用戶惟一標識, uid經過access_token解析獲取。json
QQ:須要發送郵件申請打通兩個應用的信息,另外注意一點的就是QQ互聯下邊有人工服務,鏈接很快的。若是不理解能夠找人工。 connect@qq.com<connect@qq.com>發送到這裏,api
若是QQ回覆:您好,互聯已升級打通方案,目前採用unionID做爲識別同一用戶的標識,請參考附件文檔,完成申請表格,回郵爲您處理,感謝!微信
能夠使用https://graph.qq.com/oauth2.0/me?access_token=$accesstoken&unionid=1 這個方法獲取用戶的unionid。session
另外注意一點的是兩個應用獲取我的信息的時候,client_id也就是get_user_info裏邊的oauth_consumer_keyapp
微信:用戶的unionid是惟一的。post
二、網站項目自己集成(PHP)網站
QQ:QQ自己有個集成的demo,本身放在項目中配置下,使用一下就能夠了,下邊這個是CI的一些ui
//qqcallback public function qqlogin() { require_once './libraries/qqConnectAPI.php'; $qc = new QC(); $accesstoken = $qc->qq_callback(); $openid = $qc->get_openid(); $unionid_url = "https://graph.qq.com/oauth2.0/me?access_token=$accesstoken&unionid=1"; $unionid_res = file_get_contents($unionid_url); if(strpos($unionid_res, "callback") !== false){ $lpos = strpos($unionid_res, "("); $rpos = strrpos($unionid_res, ")"); $response = substr($unionid_res, $lpos + 1, $rpos - $lpos -1); } $response_arr = json_decode($response,TRUE); if(empty($response_arr['unionid'])){ exit('403'); } $unionid = $response_arr['unionid']; print_r($unionid); exit(); if(!empty($accesstoken) && !empty($openid)){ $devid = "6B4E99F2-3F55-40C3-8B4A-8430172F90A3"; //*************************** //下邊的就是一些項目的操做已經刪除了 } } //qq登錄請求的接口//這個直接請求就能夠了 public function qqReq() { session_start(); require_once './libraries/qqConnectAPI.php'; $qc = new QC(); $qc->qq_login(); }
微博:微博也有demo,複製到項目中路徑不出錯就能夠了,下邊的就是微博的demo了this
//微博登陸callback public function weibocallback(){ $code = $this->input->get("code",TRUE); echo $code; // $posturl = 'https://api.weibo.com/oauth2/access_token'; include_once( './libraries/saetv2.ex.class.php' ); $param["code"] = $code; $param["redirect_uri"] = $this->WB_CALLBACK_URL; $o = new SaeTOAuthV2($this->WB_AKEY , $this->WB_SKEY ); $res = $o->getAccessToken('code',$param); print_r($res); if(isset($res['access_token']) && !empty($res['access_token'])){ $accesstoken = $res['access_token']; $openid = $res['uid']; //跟上邊同樣刪除了 } } //微博請求的接口//這個能夠放在《a href=""》裏邊 public function weiboReq(){ include_once( './libraries/saetv2.ex.class.php' ); $o = new SaeTOAuthV2($this->WB_AKEY , $this->WB_SKEY ); $code_url = $o->getAuthorizeURL($this->WB_CALLBACK_URL ); echo $code_url; }