這個qq的oauth2.1有個坑,坑了我半天,后來查了不少資料總算弄通了,現在把詳細步驟記錄下來。
步驟一、登陸http://connect.qq.com/
步驟二、創建應用。我創建的是wenwutest這個應用。具體的創建如下圖所示:
要特別注意這個回調地址。首先這個回調地址必須與網站地址的根域名寫的一樣(http://m.mumayi.com),其次,這里寫的這個地址一定是登陸成功后回調的地址。不能再像oauth2.0那樣再寫個根域名就可以了,我這里就掉在這個坑里半天。
步驟3、下載php的sdk
下載地址:http://wiki.connect.qq.com/sdk%E4%B8%8B%E8%BD%BD
我下的是php oauth2.1的版本
下好之后,直接將整個目錄放到你的服務器。如下圖所示:
步驟四、配置sdk
直接訪問install文件夾,填寫相關信息如下圖所示:
填寫你的應用的appid與appkey和callback地址。這個appid和appkey分別是下圖所示的兩個值:
最后的callback地址,一定要注意,一定要和你創建應用時候的callback地址一模一樣,否則會出現"ilegal uri"錯誤。這里我創建應用時的callback地址是:http://m.mumayi.com/qq/example/oauth/callback.php。所以我在這里也要填寫這個地址。填寫完成后,點擊"配置”就會配置成功了。
步驟五、訪問example/index.html,點擊按鈕,如下所示
這樣就登陸了,登錄成功后跳轉到我們之前設置好的callback地址。
官方sdk的callback.php文件內容如下:
<?php require_once("../../API/qqConnectAPI.php"); $qc = new QC(); echo $qc->qq_callback(); //返回的驗證值 echo '<hr>'; echo $qc->get_openid(); //qq分配的用戶id
代碼很簡單。其中重要的是這個openid的值。一般可以將這個openid和我們現有的用戶表做個綁定(如果用戶有賬號,如果沒有,可以完善信息)。
到這里登錄就基本完成了。下面我演示下如何獲取用戶的基本信息,代碼很簡單:
<?php /* *調用接口代碼 * **/ require_once("../../API/qqConnectAPI.php"); $qc = new QC(); $arr = $qc->get_user_info(); echo '<meta charset="UTF-8">'; echo "<p>"; echo "Gender:".$arr["gender"]; echo "</p>"; echo "<p>"; echo "NickName:".$arr["nickname"]; echo "</p>"; echo "<p>"; echo "<img src=\"".$arr['figureurl']."\">"; echo "<p>"; echo "<p>"; echo "<img src=\"".$arr['figureurl_1']."\">"; echo "<p>"; echo "<p>"; echo "<img src=\"".$arr['figureurl_2']."\">"; echo "<p>"; echo "vip:".$arr["vip"]; echo "</p>"; echo "level:".$arr["level"]; echo "</p>"; echo "is_yellow_year_vip:".$arr["is_yellow_year_vip"]; echo "</p>"; ?>
運行以上代碼顯示效果如下:
是不是用戶名和頭像都得到了,做登錄夠用了吧。想怎么擴展自己去寫吧。
希望能幫助到有需要的朋友,歡迎留言和我交流。
