一、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; }