【QQ官網在線進入流程 網頁qq登錄界面在哪里】說明
- 本文中所說的QQ登錄功能,是采用官方的OAuth2.0來實現的,這樣有更多的自主權 。另一種較為簡單的JS-SDK開發方式,雖然非常簡便 , 但自主性不夠,所以沒有采用 。
- 下文中所構造的URL,均使用了JavaScript的ES6語法 。
先登錄QQ互聯官網,登錄時所用的QQ號會和相關信息綁定 , 這一點要注意 。
登錄之后點擊頂部導航欄右側自己的QQ頭像,進入開發者的注冊/認證界面 。
這里可以選擇以“公司”或“個人”的身份注冊為開發者 。自己最開始用的是公司的相關資料來注冊的,但總是提示審核失敗 , 卻又不說為什么失敗,最后干脆用個人信息注冊,很快就成功了 。
PS:不知道用個人信息注冊為開發者的話 , 權限方面會不會有什么限制 。微信公眾平臺對個人開發者是有限制的 , 個人身份注冊的公眾號無法認證,公眾平臺的部分權限也無法調用 。
創建網站應用
要想讓網站能夠使用QQ登錄功能,就必須先在QQ互聯中創建網站應用 。
在QQ互聯網站頂部導航欄上 , 點擊應用管理 。點擊頁面中的網站應用這個標簽,再點擊創建應用,按照要求填寫相關的信息即可 。
注意這里需要填寫兩個 URL,一個是網站地址,也就是需要讓用戶能夠通過QQ登錄的網站 。另一個是網站回調域,則是用戶發起QQ登錄請求之后 , 負責與騰訊服務器通訊,實現QQ登錄功能的URL , 這兩個URL要注意區分 。
所創建的網站應用審核通過之后,點擊查看按鈕 , 在網站應用的詳情界面,能看到為這個網站分配的APP ID和APP Key,后面實現QQ登錄功能的時候要用到 。
另外,還能看到審核通過的網站應用,有兩個可用的應用接口,第一個登錄默認是開啟的,第二個unionid需要手動開啟,這里先把它開啟了,后面說不定就用上了 。
流程概述
接下來就需要編寫代碼,實現QQ登錄功能了 。這里先簡要說明一下整體流程:
- 按照要求訪問指定網址,會顯示QQ登錄界面,選擇QQ賬號進行登錄之后,會向之前所填寫的 網站回調域 發起回調,回調URL中包含Authorization Code(授權碼) 。
- 網站回調域 用這個Authorization Code(授權碼) , 結合其它數據,向指定的地址發送請求,接收到的響應中包含Access Token(訪問令牌) 。
- 網站回調域 再用Access Token(訪問令牌) 向指定的地址發送請求,接收到的響應中包含所登錄QQ賬號的 OpenID(不涉及用戶隱私) 。
- 網站回調域 拿到用戶的OpenID之后 , 結合前面獲取到的Access Token以及其它數據,就可以調用QQ的接口 , 實現特定的功能了 。比如可以調用get_user_info接口,獲取登錄用戶的昵稱、頭像、性別 , 用來顯示在前端頁面中 。
在自己編寫的登錄頁面,點擊QQ圖標之后,請求下面的地址:
https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=${appId}&redirect_uri=${redirectUrl}&state=${state}&scope=${scope}上面的地址中,appId為網站應用的APP ID,redirectUrl為網站應用的網站回調域,state為用戶自定義的字符串 , scope為向用戶所請求的授權列表 。
scope之外的參數均為必填項,scope如果不寫,則默認只請求對接口get_user_info進行授權 , 獲取用戶最基本的幾項信息:QQ昵稱、QQ頭像、性別 。
發起請求之后,會將用戶導向到QQ官方的登錄頁面,用戶在這個頁面上選擇需要登錄的QQ號,點擊“登錄”,網站回調域就會收到的騰訊服務器所發起的回調 。
比如之前所填寫的 網站回調域 為 a.com/api/getauthcode 的話,騰訊服務器就會向 網站回調域 發送如下請求:
GET /getauthcode?code=F91C6110********在上面接收到的這個請求中,URL查詢字符串里,code= 后面的字符串,就是騰訊服務器發來的Authorization Code 。
二、獲取Access Token
拿到Authorization Code,結合其它數據 , 請求如下地址:
https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&client_id=${appId}&client_secret=${appKey}&code=${authCode}&state=${state}&redirect_uri=${redirectUrl}網站回調域 會收到如下響應:
access_token=FF3A****&expires_in=7776000&refresh_token=2516****其中就包含了Access Token,并且這個Access Token有90天的有效期 , 但并不會按照官方文檔所說的,用戶再次登錄時自動刷新,而是短時間(一天內)連續多次登錄都不會刷新 。
對于這個Access Token , 官網建議開發者將其進行保存,以便后續調用OpenAPI訪問和修改用戶信息時使用 。
三、獲取OpenID
有了Access Token之后 , 就可以用它來獲取當前所登錄QQ賬號的OpenID了 。請求如下地址:
https://graph.qq.com/oauth2.0/me?access_token=${accessToken}網站回調域 會收到如下響應:
callback( {"client_id":"appId","openid":"openId"} );上面的響應中包含了 APP ID 和 OpenID,APP ID 可用來確認是否為合法的網站請求,OpenID 自然就是所登錄QQ賬號的 OpenID 了 。
四、調用接口訪問數據
有了第二步獲取到的獲取Access Token,和第三步獲取到的OpenID,就可以拿來訪問QQ的接口,獲取用戶的相關信息了 。
比如以下面的方式請求 get_user_info 接口,就能夠獲取到用戶昵稱、QQ頭像等信息 。
https://graph.qq.com/user/get_user_info?access_token=${accessToken}&oauth_consumer_key=${appId}&openid=${openId}
以上關于本文的內容,僅作參考!溫馨提示:如遇健康、疾病相關的問題,請您及時就醫或請專業人士給予相關指導!
「愛刨根生活網」www.malaban59.cn小編還為您精選了以下內容,希望對您有所幫助:- 有哪些優質翻譯軟件 百度翻譯在線翻譯
- 如何在中國移動官網查詢手機移動卡PUK碼并解鎖
- 提升人像魅力的秘密武器:美圖秀秀在線版腮紅功能
- 這將會是LV今年最受歡迎的男款包 lv中國官網
- 如何在電腦版QQ興趣部落中進入
- 如何使用360安全衛士進入系統輸入法入口
- 如何設置幻燈片切換效果從上方進入
- 提升網頁設計效果:在線PS套索工具調出濾鏡庫的新技巧
- 如何查看釘釘在線課堂數據
- 如何利用億圖在線快速繪制高效因果圖
