ShareSDK [iOS常见问题] 关于使用QQ做第三方登录的问题!

注意:QQ本身没有授权功能,所以想要使用QQ做第三方登录必须通过QQ空间来实现!

第一步:集成ShareSDK(步骤同集成分享的一样,如果已经集成过就不用再重新集成了),这里需要注意的是,由于是要通过QQ空间来实现授权登录,所以在下载ShareSDK包的时候别忘了勾选QQ空间,不然会报尚未导入平台(6)的错误。

第二步:打开工程中的*AppDelegate.m(*代表你的工程名字)?文件,导入QQSDK的头文件:
            #import <TencentOpenAPI/QQApiInterface.h>
            #import <TencentOpenAPI/TencentOAuth.h>
       检查是否已加入handleOpenURL的处理方法,如果没有则添加如下代码:
- (BOOL)application: (UIApplication *)application  handleOpenURL: (NSURL *)url
{
    return [ShareSDK handleOpenURL:url
                            wxDelegate:self;
}

- (BOOL)application: (UIApplication *)application
                openURL: (NSURL *)url
                sourceApplication: (NSString *)sourceApplication
                annotation: (id)annotation
{
    return [ShareSDK handleOpenURL: url
                   sourceApplication:sourceApplication
                   annotation: annotation
                   wxDelegate: self;
}    
第三步: 加入QQ空间初始化方法
   在*AppDelegate.m里面的
- (BOOL)application: (UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions{}方法中
//初始化我们的sdk
[ShareSDK registerApp:@"iosv1101"];
//添加QQ空间应用
[ShareSDK connectQZoneWithAppKey:@"100371282"
                            appSecret:@"aed9b0303e3ed1e27bae87c33761161d"
                   qqApiInterfaceCls:[QQApiInterface class]
                     tencentOAuthCls:[TencentOAuth class;

注意:这里需要填入的AppKey就是您在QQ互联注册应用的AppID,appSecret就是AppKey!

第四步:配置QQ空间的URL Schemes

打开*-Info.plist(*代表你的工程名字)。找到URL types配置项(如果没有则新增),展开URL types – URL Schemes,在URL Schemes下分别各新增一项用于QQ空间的Scheme(如果不添加则会导致法返回应用)。其填写格式为:tencent+appID(你在QQ空间中申请的AppId), 如:tencent100371282。

第五步:授权登录并获取用户信息

在您的点击事件方法中加入授权获取用户信息接口:

[ShareSDK getUserInfoWithType:ShareTypeQQSpace
                                  authOptions:nil
                                             result:^(BOOL result, id<ISSPlatformUser> userInfo, id<ICMErrorInfo> error) {
                               
                               if (result)
                               {                  
                              //打印输出用户uid:                                 
                                   NSLog(@"uid = %@",[userInfo uid]);
                             //打印输出用户昵称:
                                   NSLog(@"name = %@",[userInfo nickname]);
                            //打印输出用户头像地址:
                                   NSLog(@"icon = %@",[userInfo profileImage]);

}else{

NSLog(@"授权失败!error code == %d, error code == %@", [error errorCode], [error errorDescription]);
  }
}];
注意:ShareTypeQQSpace这里一定是写QQSpace不能写QQ否则会报 不支持授权功能的错误。
           这里只在result里面做了输出的操作 如果您想要做存储数据或者其它显示都可以在这里面操作!

时间: 2024-10-10 07:44:37

ShareSDK [iOS常见问题] 关于使用QQ做第三方登录的问题!的相关文章

[iOS常见问题] 关于使用QQ做第三方登录的问题!

[iOS常见问题] 关于使用QQ做第三方登录的问题! 注意:QQ本身没有授权功能,所以想要使用QQ做第三方登录必须通过QQ空间来实现! 第一步:集成ShareSDK(步骤同集成分享的一样,如果已经集成过就不用再重新集成了),这里需要注意的是,由于是要通过QQ空间来实现授权登录,所以在下载ShareSDK包的时候别忘了勾选QQ空间,不然会报尚未导入平台(6)的错误. 第二步:打开工程中的*AppDelegate.m(*代表你的工程名字)?文件,导入QQSDK的头文件:            #im

iOS开发中 实现登录时关于使用QQ做为第三方授权登录的问题

注意:QQ本身没有授权功能,所以想要使用QQ做第三方登录必须通过QQ空间来实现! 第一步:集成ShareSDK(步骤同集成分享的一样,如果已经集成过就不用再重新集成了),这里需要注意的是,由于是要通过QQ空间来实现授权登录,所以在下载ShareSDK包的时候别忘了勾选QQ空间,不然会报尚未导入平台(6)的错误. 第二步:打开工程中的*AppDelegate.m(*代表你的工程名字)?文件,导入QQSDK的头文件:            #import <TencentOpenAPI/QQApiI

iOS 第三方登录之 QQ登录

一. 首先需要下载腾讯qq登录所需的库,下载地址是http://open.qq.com/ . 需要用到的有TencentOpenAPI.framework 和TencentOpenApi_IOS_Bundle.bundle,将两者加入工程. 二.下面就来实现QQ第三方登录 1.声明属性,且viewcontroller实现TencentSessionDelegate @interface LoginViewController :UIViewController<TencentSessionDel

猫猫学习ios 之第三方登录友盟实现

一:集成友盟分享 做第三方登录现在大多数用友盟,友盟之中做第三方登录的时候首先下载sdk,然后自己看文档,其实友盟的官方文档写的已经十分清楚了,这里自己写写,做一下笔记 二:详细 友盟:http://www.umeng.com/ appDelegate中写入 //设置分享到QQ/Qzone的应用Id,和分享url 链接 #import "UMSocialQQHandler.h" [UMSocialQQHandler setQQWithAppId:@"100424468&quo

PHP实现QQ第三方登录

学习之前,请大家先看一下oAuth协议. 首先呢,我们进入QQ互联的官方网站 http://connect.qq.com登入我们自己的QQ号,没有QQ号的小伙伴可以忽略本篇博文分享! 如上图所示,点击管理中心,会看到下面有一个创建应用的按钮 点击创建应用,弹出一个应用框框 我们点击网站创建网站应用,会再次弹出一个填写框 上述图片中的网站地址必须是线上域名,就是网上可以访问到的,我们可以去新浪的sae平台去申请一个,网址为http://www.sinacloud.com/doc/sae/php/s

QQ第三方登录demo

QQ第三方登录demo 最近使用第三方登录,QQ登录官方给的demo中类太多了,这里上传一个小demo,只有2个类,可以授权QQ进行第三方登录. 下载地址:http://www.devstore.cn/code/info/600.html 运行截图:   http://ds.devstore.cn/dev_store/user/souce_code/img/20150119160310177xjkim8dz/11111.png

QQ第三方登录回调地址的问题

如题,维护以前的项目,发现原来QQ的第三方登录竟然失败了.回调地址的问题 原来是以前的规则变了.好吧,那就改,谁叫我不是改变规则的人. 中途浪费了点时间,项目很大,我一下也找不到项目里那个接口调用的,而这个接口要和申请第三方的回调地址一致. 咋办? 首先找你错误页面,调试(F12),找到network.找到那个错误的请求 然后复制那个 Request URL地址到http://open.qq.com/tools?act=url_encode URL解码,程序中实际调用的接口地址就出来了,把QQ第

Symfony2框架实战教程——第四天:用HWIOAuthBundle实现第三方登录

为了方便用户能快速发布内容,我们只用要求QQ的第三方登录就行了. 如果你打算跟着我一起完成这个项目,可能会因为QQ需要验证你是否有个人域名而卡在这一章,我写了一篇不用OAuth的.但本篇文章也最好看看,大部分知识点是完全一样的. 使用HWIOAuthBundle实现第三方登录 可以想象得到,第三方登录这种常见需求,相关的库也是有的.这里我再推荐一个:HWIOAuthBundle 如同昨日,我们先将它通过Composer引入到我们项目当中: 1 2 $ composer require "hwi/

第三方登录功能的实现

刚开始做的时候感觉高大上 为什么要使用第三方登录: 一般稍微作为一个大点的项目,为了提高用户的群体都会做第三方登录(如:QQ,微信,新浪等) 在往下看之前先注册第三方网站的开发者账号,创建应用完成审核. QQ : QQ开发者平台 微信: 微信开发者平台 新浪: 新浪开放平台 要实现第三方登录的功能首先要明白oauth2.0的认证原理,由于第三方登录的认证授权流程大致都是一样的,在这里我只讲QQ的登录授权流程: 官网也有介绍: 这里写链接内容 其授权验证流程示意图如下: client先访问:PC网