iOS 第三方登陆 —— QQ

来源:互联网 发布:mac电脑打字出错 编辑:程序博客网 时间:2024/05/16 14:39

一、准备工作

1、到QQ开放平台(http://connect.qq.com/ )注册成为开发者,申请appkey,

2、在URL Types中添加QQ的AppID,其格式为:”tencent” + AppID    例如tencent1104463316

二、配置AppDelegate.m

1、导入<TencentOpenAPI/QQApiInterface.h> 和<TencentOpenAPI/TencentOAuth.h>两个头文件

2、配置函数:

[objc] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url  
  2. {  
  3.     return [TencentOAuth HandleOpenURL:url];  
  4. }  
  5.   
  6. - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url  sourceApplication:(NSString *)sourceApplication  annotation:(id)annotation  
  7. {  
  8.     return [TencentOAuth HandleOpenURL:url];  
  9. }  


三、在登录界面中设置代码

1、导入#import <TencentOpenAPI/TencentOAuth.h>

2、遵守协议:<TencentSessionDelegate>

3、触发登陆方法中写入一下代码:

[objc] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. -(void)QQLogin  
  2. {  
  3.     NSArray* permissions = [NSArray arrayWithObjects:  
  4.                             kOPEN_PERMISSION_GET_USER_INFO,  
  5.                             kOPEN_PERMISSION_GET_SIMPLE_USER_INFO,  
  6.                             kOPEN_PERMISSION_ADD_ALBUM,  
  7.                             nil nil];  
  8.     [self.tencentOAuth authorize:permissions];  
  9. }  

4、获取用户信息

[objc] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. -(void)tencentDidLogin  
  2. {  
  3.     [self.tencentOAuth getUserInfo];  
  4. }  

[objc] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. - (void)getUserInfoResponse:(APIResponse*) response  
  2. {  
  3.     NSLog(@"getUserInfo = %@",response.jsonResponse);  
  4.     NSLog(@"getUserInfo.nickName = %@",[response.jsonResponseobjectForKey:@"nickname"]);  
  5.     NSString* alertMessage = [NSStringstringWithFormat:@"%@",response.jsonResponse];  
  6.     NSString* headerPath = [response.jsonResponseobjectForKey:@"figureurl_qq_2"];  
  7.     NSString* name = [response.jsonResponseobjectForKey:@"nickname"];  
  8. }  

0 0
原创粉丝点击