下面小編就為大家帶來一篇淺談PHP接入(第三方登入)QQ登入 OAuth2.0 過程中遇到的坑。小編覺得蠻不錯的,現在就分享給大家,也給大家做個參考。一起跟著小編過來看看吧
前言
#絕大多數網站都集成了第三方登錄,降低了註冊門檻,增強了使用者體驗。最近看了 QQ 互聯上 QQ 登入的介面文件。接入QQ 登入的一般流程呢,是這樣的:先申請開發者-> 然後建立應用程式(拿到一組AppId 和AppKey)-> 取得access_token -> 取得openid -> 呼叫openApi 存取或修改用戶資訊。
然而,從申請個人開發者開始,坑就來了。
1. 申請(個人)開發者
QQ 互聯中申請開發者資訊的頁面,有些重點太過簡陋,缺失細節,例如身分證正面照的相關拍攝細節完全沒有描述,我當時就直接上傳了這個“身份證正面照”,然後等了3 天, 3 天后收到騰訊開放平台的郵件通知說審核沒通過,需要手持身分證。好吧,那就重拍~~。問了客服之後確定了這個「手持身份證」拍攝的正確姿勢,然後我換了平台,在騰訊開放平台中改了我的申請信息,重新上傳了身份證,我注意到上傳框的下面有拍攝提示,看了下是個小姐姐的手持身分證照片,挺好看的,提示友好,比QQ 互聯上的申請頁面好多了。又過了 2 天之後審核通過。
所以,申請開發者的話,最好還是在騰訊開放平台申請吧,資訊相對詳細,也更友好,QQ 互聯給人感覺好久沒維護了。
2. 介面呼叫-發佈微博
(1)發佈微博的介面add_t:必要參數為content 微博內容。呼叫時必須以陣列鍵值對方式把參數傳進去,否則會報錯說沒提供參數。
$qc = new QC('你的access_token', '你的openid'); $weibo = [ 'content' => '微博内容' ]; $result = $qc->add_t($weibo);
(2)發布帶有圖片微博的介面 add_pic_t:必要參數為 content 微博內容,和 pic 微博圖片。呼叫時同樣以鍵值對方式傳參。而且,圖片是以二進位流的形式上傳的。而文件中有關它的介面範例,我始終沒找到。最後,我採用了 CURLFIle 類別實作圖片流上傳。
$qc = new QC('你的access_token', '你的openid'); $weibo = [ 'content' => '微博内容', 'pic' => new CURLFile('要上传的图片路径') ]; $result = $qc->add_pic_t($weibo);
注意到 pic 參數值為 CURLFile 類別的實例(圖片路徑最好是絕對路徑)。網路上有些資料介紹了 file(image_path) 和 file_get_contents(image_path) 方式設定 pic 參數,但我在這裡都沒有成功(微博發布成功,但沒有圖片)。
小結
主要的坑就這兩個,審核平台問題和微博圖片上傳問題。以後可能還會用,所以在這裡作以記錄,備忘。
以上是php接入QQ登入OAuth2.0 過程中遇到的坑分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!