1. 程式人生 > >QQ第三方登入(PC + 手機)

QQ第三方登入(PC + 手機)

一、申請APPID和APPKEY

登入QQ互聯,登入地址:https://connect.qq.com/ ,登入===》建立應用

注意:1、手機網站和PC網站要分開建立兩個應用,都是“網站應用”,只有APP才是手機應用

          2、網站回撥域 寫你回撥的地址,寫錯了沒有關係,後面可以修改

          3、這個申請得到唯一標識【OpenID】只對一個應用唯一,如果開發者有多個應用,需要申請Unionid,

     

Unionid申請方法:傳送郵件到[email protected]

郵件格式如下:


申請通過以後,得到APPID、APPKey。

二、開發:

1、HTML頁面

<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" xml:lang="zh-cn">

<head>

    <title>會員登入</title>

    <script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js" data-appid="你的APPID" charset="utf-8"></script>

</head>

<body>

    <span>其它賬號登入:</span>

    <!--登入按鈕-->

    <span  style=" margin-right:10px"  id="qqLoginBtn"></span>

    <script src="../JS/JQuery.js" type="text/javascript"></script>

    <!--QQ登入-->

    <script type="text/javascript">

        $(function () {

            QC.Login.signOut();

        });

        QC.Login({

            btnId: "qqLoginBtn"    //插入按鈕的節點id

        });

        var paras = {};

        //if (QC.Login.check()) {

        QC.api("get_user_info", paras).success(function (s) {//成功回撥

            console.log("success",arguments);

            //成功回撥

            QC.Login.getMe(function (openId, accessToken) {

                console.log("getMe",arguments)

                showBgProc(true, "正在登入,請稍候...");

                $.post("../ajax.ashx?action=QQlogin&t=" + Math.random(), {

                    name: s.data.nickname, //暱稱

                    gender: s.data.gender, //性別

                    province: s.data.province, //省

                    city: s.data.city, //市

                    year: s.data.year, //出生年

                    figureurl: s.data.figureurl_2, //頭像

                    openid: openId,

                    otype: 1,

                    token: accessToken

                }, function (msg) {

                    showBgProc(false);

                    if (gav(msg, "state") == "1") {

                        $a(s.data.nickname + "恭喜你,登入成功!");

                        location.href = "/user/";   //跳轉到會員中心頁

                    } else {

                        $a(gav(msg, "msg"));

                    }

                });

            });

        })

        .error(function (f) {//失敗回撥

            alert("獲取使用者資訊失敗!");

        })

        .complete(function (c) {

            //完成請求回撥

        });

      //}

    </script>


</body>
</html>

2、AJAX.ashx頁面

                      /// <summary>
        /// QQ快速登入
        /// </summary>
        private static void QQLogin()
        {

            //獲取unionid
            string token = HttpContext.Current.Request["token"];
            string unid = "";
            if (!string.IsNullOrEmpty(token))
            {
                string str = Get("https://graph.qq.com/oauth2.0/me?access_token=" + token + "&unionid=1");
               
                if (!string.IsNullOrEmpty(str))
                {
                    str = str.Replace("callback(", "").Replace(")", "").Replace(";","").Trim();
                    System.Collections.Hashtable ht = Newtonsoft.Json.JsonConvert.DeserializeObject<System.Collections.Hashtable>(str);
                    unid = ht["unionid"] as string;
                    //WriteString(str);
                }
            }

            string ChnName = HttpContext.Current.Request.Form["name"];//暱稱
            string openid = HttpContext.Current.Request.Form["openid"];//其它使用者資訊略。。
            if (!string.IsNullOrEmpty(unid)) openid = unid; //如果有unionid 就把unionid 作為唯一標識儲存到資料庫中

            //先判斷 openid 是否存在   
            //讀取使用者表,看資料庫中是否有相應的資訊

            
            if (user_OBJ == null)
            {
                //如果不存在,先儲存使用者資訊,再登入
                //1.1 儲存到自己的資料庫表中
                //1.2 登入程式碼,儲存自己的cookie


            }else{
                //如果存在,直接登入
                //1.1登入程式碼,儲存自己的cookie

                
            }
            //返回結果內容
            WriteXml(node, node2);
        }

未完。。。。。。。

相關推薦

QQ第三方登入PC + 手機

一、申請APPID和APPKEY登入QQ互聯,登入地址:https://connect.qq.com/ ,登入===》建立應用注意:1、手機網站和PC網站要分開建立兩個應用,都是“網站應用”,只有APP才是手機應用          2、網站回撥域 寫你回撥的地址,寫錯了沒有

QQ第三方登入預備節

第一次很多時候,使用者因為複雜的註冊程式,而不願意再體驗我們的網站服務,我們可以通過QQ第三方授權,這樣既保證了使用者數,而且也極大的提高了使用者體驗。廢話就不多說了,直接進入正題。。。   要實現QQ第三方登陸 這就需要QQ方面的支援。 首先  我們需要在QQ開發者網站上註冊,ht

QQ第三方登入完結篇

書接上回,上回說到:這篇是程式碼篇 首先我們先來看一下我的母鹿(目錄)吧     Connect2.1  是我們從下載的SDK,內容包含     其他檔案在配置之後全部刪除了!    index.html 是我們點選登陸的頁面

Android開發技巧之:QQ第三方登入

接 android QQ第三方登入(一)  獲取登入使用者名稱資訊,這邊先抱怨一下,官方API有點坑 Constants原始碼類下就是找不到GRAPH_SIMPLE_USER_INFO這個屬性!無語! 根據官方提供返回的的JSONObject資訊解析:

Android開發技巧之:QQ第三方登入

使用的是Android_SDK_V2.9.1,建議使用最新版; 官方下載:SDK下載  Android studio 中新增到 然後在點選build.gradle檔案新增 配置AndroidManifest 在應用的Andr

移動端第三方登入微信java驗證並獲取使用者資訊

import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.nio.charset.Charset; import java.nio.char

電商 手機web端使用第三方登入QQ,sina微博demo

QQ 使用的是 騰訊·開放評臺 //使用QQ登入的demo public static void main(String[] args) { String grant_type = "authorization_code"; String client_id

Django 專案總結3- 第三方登入QQ登入

第三方登入(QQ 登入) 根據 qq 開發文件 oauth2.0 QQ 登入流程: 前端頁面點選 QQ 登入,需要跳轉到 QQ 的登入頁面,但是前端不知道 QQ 的登入連結,所以先想後端傳送請求,由伺服器生成 QQ 登入頁地址,返回給前端; 使用者在

第三方登入QQ登入開發流程詳解

  近排由於工作的繁忙,已經一個星期沒寫博文做分享了,接下來我對網站接入第三方登入----QQ登入的實現邏輯做一個詳細的講解。   對於整個流程的詳細文件可以到QQ互聯官網(http://wiki.connect.qq.com)檢視,我這裡就簡單地進行描述,主要是分析程式碼的實現過程。   我用的是C

Android ShareSDK第三方登入分別有新浪、QQ、微信、Facebook、Linkedin、Google等等

專案的Demo:快速整合:1. 獲取ShareSDK的AppKey2. 下載SDK下載頁如圖所示:點選下載之後如下圖所以,點選下載SDK的下載頁,展開平臺可以選擇其他的第三方平臺;demo也是這裡下載;下載完之後的解壓目錄如圖所示:3. 快速整合ShareSDK深受大家喜愛,

關於Android Studio第三方登入使用QQ登入程式碼

關於Android Studio第三方登入(使用QQ登入) 新手上路,寫的不好或者有錯誤之處請各位大神多多指教!!! 現在很多APP應用都實現了第三方登入:比如QQ登入、微信登入、微博登入等等。其實實現起來非常簡單,那麼廢話就不多說了,接下來我們看看如

iOS:shareSDK 第三方登入qq 微信 新浪微博

    [ShareSDKconnectWeChatWithAppId:kWXAppID wechatCls:[WXApiclass]];         [ShareSDKconnectQQWithQZoneAppKey:kQQAppID qqApiInterfaceCls:[QQApiInterfac

1689熊貓彩票增加視頻版本PC+手機端、帶有視頻動畫開獎效果 ——含手機端、前後臺帶極速彩

nta 新版 最新版 環境 網頁 mysq 編程 效果 手機 2018最新版彩票現金盤,新增pc端+手機端視頻動畫運行環境:php5.2+mysql源碼類別:兩面盤界面語言:繁體中文源碼授權:無加密文件及認證授權,永久性可直接使用。版本支持:PC/WAP網頁版編程語言:PH

QQ聯合登入使用JAVA SDKWAP端瀏覽器不能正常使用JS SDK

    關於QQ聯合登入官方文件提供了很方便的JS SDK ,但是在手機WAP網站使用JS SDK時,大多數瀏覽器調起QQ登入後不能正常回調,只有極個別的瀏覽器能正常使用,比如我試了手機谷歌瀏覽器可以使用,但是譬如qq瀏覽器,Safari瀏覽器都不能正常回調。   &

php微信開放平臺--第三方網頁微信掃碼登入OAuth2.0

第一、OAuth2.0  OAuth(開放授權)是一個開放標準,允許使用者讓第三方應用訪問該使用者在某一網站上儲存的私密的資源(如照片,視訊,聯絡人列表),而無需將使用者名稱和密碼提供給第三方應用。  允許使用者提供一個令牌,而不是使用者名稱和密碼來訪問他們存放在特定服務提供者的資料。每一個令牌授權一個特定的

微信第三方登入靜默授權和非靜默授權

使用者在微信客戶端中訪問第三方網頁,公眾號可以通過微信網頁授權機制,來獲取使用者基本資訊,進而實現業務邏輯。 微信的授權登入在日常應用中應用的非常廣泛,越來越多的平臺支援使用者使用微信進行授權第三方登入  使用微信授權登入有哪些優勢/好處;  1、使用者量足夠大,基本

第三方登入:微信掃碼登入OAuth2.0

1、OAuth2.0   OAuth(開放授權)是一個開放標準,允許使用者讓第三方應用訪問該使用者在某一網站上儲存的私密的資源(如照片,視訊,聯絡人列表),而無需將使用者名稱和密碼提供給第三方應用。   允許使用者 提供一個令牌, 而不是使用者名稱和密碼來訪問他們存放

[原創] uniapp第三方登入

一般我們在進入登入頁面的時候回選擇登入方式,以按鈕的方式進行選擇觸發第三方的登入型別。 在小程式中的登入授權時,格式被確定為使用 vue檔案 <!-- #ifdef MP-WEIXIN --> <button type="primary" open-type=

Spring Security OAuth2 第三方登入之流程說明

SpringBoot第三方登入流程 OAuth2AuthenticationService 該類執行獲取code,token,建立connection,由SocailAuthenticationFilter呼叫 public class OAuth2Authenticati

微信第三方登入靜默授權和非靜默授權例項步驟

微信的授權登入在日常應用中應用的非常廣泛,最多就是第三方登入,最近在搞這方面的例子,做個筆記,方便查閱。 微信登入分為兩類:需要使用者確認的授權登入與靜默授權,使用者確認的授權登入因為要通過使用者的個人確認,所以可以獲取使用者全面的資訊,無論是否關注相關微訊號都可以獲取,靜