QQ三方登錄(QQ原生三方登錄)

一、QQ三方登錄的準備工作

1.下載最新的SDK
http://wiki.open.qq.com/wiki/mobile/SDK下載

doc: 為說明文檔阁最, 方法參數(shù)說明虑润。
sample 這個是簡單的demo
TencentOpenApi_IOS_Bundle.bundle   資源文件包
TencentOpenApi.framework     核心開發(fā)框架

騰訊開發(fā)平臺上沒有QQ三方登錄的相關(guān)文檔成玫,可以搜下QQ互聯(lián),那上面比較詳細拳喻。
2.添加依賴
最簡單的方法:在sample里哭当,打開項目,照著這個項目里的依賴抄上去冗澈。

20160617162349630.jpeg

3.在工程配置中的“Build Settings”一欄中找到“Linking”配置區(qū)钦勘,給“Other Linker Flags”配置項添加屬性值“-fobjc-arc”


20160617162625160.jpeg

4.選擇項目,targets亚亲,點擊info彻采,點開下面的URL Types,點擊加號
在URL Schemes里填寫tencent + aped腐缤。
5.在info.plist文件中加入 LSApplicationQueriesSchemes
這個也是從sample里復(fù)制粘貼的。


20160617175053663.jpeg

二肛响、QQ三方登錄在代碼中的實現(xiàn)

1.引入頭文件岭粤,并遵循代理

#import <TencentOpenAPI/QQApiInterface.h>
#import <TencentOpenAPI/TencentOAuth.h>

@interface AppDelegate ()<QQApiInterfaceDelegate>
@end

2.在添加跳轉(zhuǎn)的請求方法

// 從微信端打開第三方APP會調(diào)用此方法,此方法再調(diào)用代理的onResp方法
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
    [TencentOAuth HandleOpenURL:url];
    [QQApiInterface handleOpenURL:url delegate:self];
    return YES;
}

- (BOOL)application:(UIApplication*)application openURL:(NSURL *)url sourceApplication:(NSString*)sourceApplication annotation:(id)annotation{
  
    [QQApiInterface handleOpenURL:url delegate:self];
    [TencentOAuth HandleOpenURL:url];
    return YES;
    
}

3.QQ登錄按鈕響應(yīng)事件對應(yīng)的控制器引入頭文件,準守協(xié)議

#import <TencentOpenAPI/QQApiInterface.h>
#import <TencentOpenAPI/TencentOAuth.h>
#import <TencentOpenAPI/QQApiInterfaceObject.h>
@interface ViewController ()<TencentSessionDelegate>
{
    TencentOAuth *_tencentOAuth;
    NSMutableArray *_permissionArray;   //權(quán)限列表
}
@end

4.點擊QQ登錄按鈕之后的代碼

- (IBAction)qqLogin:(id)sender {
   
    _tencentOAuth = [[TencentOAuth alloc] initWithAppId:@"1105593761" andDelegate:self];
     _permissionArray = [NSMutableArray arrayWithObjects:
                            kOPEN_PERMISSION_GET_SIMPLE_USER_INFO,
                            nil];
    [_tencentOAuth authorize:_permissionArray];
}
#pragma TencentSessionDelegate
/**
 * [該邏輯未實現(xiàn)]因token失效而需要執(zhí)行重新登錄授權(quán)特笋。在用戶調(diào)用某個api接口時剃浇,如果服務(wù)器返回token失效,則觸發(fā)該回調(diào)協(xié)議接口猎物,由第三方?jīng)Q定是否跳轉(zhuǎn)到登錄授權(quán)頁面偿渡,讓用戶重新授權(quán)。
 * \param tencentOAuth 登錄授權(quán)對象霸奕。
 * \return 是否仍然回調(diào)返回原始的api請求結(jié)果溜宽。
 * \note 不實現(xiàn)該協(xié)議接口則默認為不開啟重新登錄授權(quán)流程。若需要重新登錄授權(quán)請調(diào)用\ref TencentOAuth#reauthorizeWithPermissions: \n注意:重新登錄授權(quán)時用戶可能會修改登錄的帳號
 */
- (BOOL)tencentNeedPerformReAuth:(TencentOAuth *)tencentOAuth{
    return YES;
}
- (BOOL)tencentNeedPerformIncrAuth:(TencentOAuth *)tencentOAuth withPermissions:(NSArray *)permissions{
    
    // incrAuthWithPermissions是增量授權(quán)時需要調(diào)用的登錄接口
    // permissions是需要增量授權(quán)的權(quán)限列表
    [tencentOAuth incrAuthWithPermissions:permissions];
    return NO; // 返回NO表明不需要再回傳未授權(quán)API接口的原始請求結(jié)果质帅;
    // 否則可以返回YES
}
-(void)tencentDidLogin{
     NSLog(@"----ok-----");
    /** Access Token憑證适揉,用于后續(xù)訪問各開放接口 */
    if (_tencentOAuth.accessToken) {
        
        //獲取用戶信息。 調(diào)用這個方法后煤惩,qq的sdk會自動調(diào)用
        //- (void)getUserInfoResponse:(APIResponse*) response
        //這個方法就是 用戶信息的回調(diào)方法嫉嘀。
        
        [_tencentOAuth getUserInfo];
    }else{
        
        NSLog(@"accessToken 沒有獲取成功");
    }
}
//-(NSArray *)getAuthorizedPermissions:(NSArray *)permissions withExtraParams:(NSDictionary *)extraParams{
//    NSLog(@"----%@********%@-----",permissions,extraParams);
//    return permissions;
//}
- (void)getUserInfoResponse:(APIResponse*) response{
     NSLog(@"*********");
     NSLog(@" response %@",response);
     NSLog(@"*********");
}

-(void)tencentDidNotLogin:(BOOL)cancelled{
    if (cancelled) {
        NSLog(@" 用戶點擊取消按鍵,主動退出登錄");
    }else{
        NSLog(@"其他原因, 導(dǎo)致登錄失敗");
    }
}
-(void)tencentDidNotNetWork{
     NSLog(@"沒有網(wǎng)絡(luò)了魄揉, 怎么登錄成功呢");
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末剪侮,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子洛退,更是在濱河造成了極大的恐慌瓣俯,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件兵怯,死亡現(xiàn)場離奇詭異彩匕,居然都是意外死亡,警方通過查閱死者的電腦和手機媒区,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門驼仪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人袜漩,你說我怎么就攤上這事绪爸。” “怎么了宙攻?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵奠货,是天一觀的道長。 經(jīng)常有香客問我粘优,道長仇味,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任雹顺,我火速辦了婚禮丹墨,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘嬉愧。我一直安慰自己贩挣,他們只是感情好,可當我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布没酣。 她就那樣靜靜地躺著王财,像睡著了一般。 火紅的嫁衣襯著肌膚如雪裕便。 梳的紋絲不亂的頭發(fā)上绒净,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天,我揣著相機與錄音偿衰,去河邊找鬼挂疆。 笑死,一個胖子當著我的面吹牛下翎,可吹牛的內(nèi)容都是我干的缤言。 我是一名探鬼主播,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼视事,長吁一口氣:“原來是場噩夢啊……” “哼胆萧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起俐东,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤跌穗,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后虏辫,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瞻离,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年乒裆,在試婚紗的時候發(fā)現(xiàn)自己被綠了套利。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡鹤耍,死狀恐怖肉迫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情稿黄,我是刑警寧澤喊衫,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站杆怕,受9級特大地震影響族购,放射性物質(zhì)發(fā)生泄漏壳贪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一寝杖、第九天 我趴在偏房一處隱蔽的房頂上張望违施。 院中可真熱鬧,春花似錦瑟幕、人聲如沸磕蒲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽辣往。三九已至,卻和暖如春殖卑,著一層夾襖步出監(jiān)牢的瞬間站削,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工孵稽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留钻哩,地道東北人。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓肛冶,卻偏偏與公主長得像街氢,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子睦袖,可洞房花燭夜當晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理珊肃,服務(wù)發(fā)現(xiàn),斷路器馅笙,智...
    卡卡羅2017閱讀 134,654評論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,808評論 6 342
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,099評論 25 707
  • 轉(zhuǎn)載自http://wanwu.tech/2017/03/08/function-recursive-and-lo...
    quitus閱讀 520評論 0 0
  • 以前是端茶送客,談完事皿淋,主人一端茶招刹,請,客人都意會窝趣,知趣地告辭了疯暑。 如今是手機送客,說著事哑舒,一摸起手機妇拯,一低頭手指...
    漳平老頑童閱讀 125評論 0 0