前言
絕大多數(shù)網(wǎng)站都集成了第三方登錄,降低了注冊門檻,增強了用戶體驗。最近看了看 QQ 互聯(lián)上 QQ 登錄的接口文檔。接入 QQ 登錄的一般流程呢,是這樣的:先申請開發(fā)者 -> 然后創(chuàng)建應(yīng)用(拿到一組 AppId 和 AppKey)-> 獲取 access_token -> 獲取 openid -> 調(diào)用 openApi 訪問或修改用戶信息。
然而,從申請個人開發(fā)者開始,坑就來了。
1. 申請(個人)開發(fā)者
QQ 互聯(lián)中申請開發(fā)者信息的頁面,一些重點太過簡陋,缺失細(xì)節(jié),比如身份證正面照的相關(guān)拍攝細(xì)節(jié)完全沒有描述,我當(dāng)時就直接上傳了這個“身份證正面照”,然后等了 3 天, 3 天后收到騰訊開放平臺的郵件通知說審核沒通過,需要手持身份證。好吧,那就重拍~~。問了客服之后確定了這個“手持身份證”拍攝的正確姿勢,然后我換了平臺,在騰訊開放平臺中改了我的申請信息,重新上傳了身份證,我注意到上傳框的下面有拍攝提示,看了下是個小姐姐的手持身份證照片,挺好看的,提示友好,比 QQ 互聯(lián)上的申請頁面好多了。又過了 2 天之后審核通過。
所以,申請開發(fā)者的話,最好還是在騰訊開放平臺申請吧,信息相對詳細(xì),也更友好,QQ 互聯(lián)給人感覺好久沒維護了。
2. 接口調(diào)用——發(fā)布微博
(1)發(fā)布微博的接口 add_t:必需參數(shù)為 content 微博內(nèi)容。調(diào)用時必須以數(shù)組鍵值對方式把參數(shù)傳遞進去,否則會報錯說沒提供參數(shù)。
$qc = new QC('你的access_token', '你的openid'); $weibo = [ 'content' => '微博內(nèi)容' ]; $result = $qc->add_t($weibo);
(2)發(fā)布帶圖片微博的接口 add_pic_t:必需參數(shù)為 content 微博內(nèi)容,和 pic 微博圖片。調(diào)用時同樣以鍵值對方式傳參。而且,圖片是以二進制流的形式上傳的。而文檔中有關(guān)它的接口示例,我始終沒找到。最后,我采用了 CURLFIle 類實現(xiàn)圖片流上傳。
$qc = new QC('你的access_token', '你的openid'); $weibo = [ 'content' => '微博內(nèi)容', 'pic' => new CURLFile('要上傳的圖片路徑') ]; $result = $qc->add_pic_t($weibo);
注意到 pic 參數(shù)值為 CURLFile 類的實例(圖片路徑最好是絕對路徑)。網(wǎng)上有些資料介紹了 file(image_path) 和 file_get_contents(image_path) 方式設(shè)置 pic 參數(shù),但我這里都沒有成功(微博發(fā)布成功,但沒有圖片)。
小結(jié)
主要的坑就這兩個,審核平臺問題和微博圖片上傳問題。以后可能還會用,所以在這里作以記錄,備忘。
以上這篇淺談PHP接入(第三方登錄)QQ登錄 OAuth2.0 過程中遇到的坑就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持。