iOS 第三方登陆 —— 新浪微博
1、添加微博依赖库
2.Appdelegate中添加代码
//SinaLogin
先到新浪微博开放平台申请appkey 设置回调网址(默认即可)
#define KAppKey @"542105907"
#define KRedirectURI @"https://api.weibo.com/oauth2/default.html"
[WeiboSDKenableDebugMode:YES];
[WeiboSDKregisterApp:KAppKey];
3、重写两个方法
//如果需要在Appdelegate中处理授权方法可以将delegate设为self,如果要再登陆界面处理可以将登陆界面设为代理
- (BOOL)application:(UIApplication *)application
handleOpenURL:(NSURL *)url
{
return [WeiboSDKhandleOpenURL:urldelegate:[LoginViewControllershareLogin]];
}
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation
{
return [WeiboSDKhandleOpenURL:urldelegate:[LoginViewControllershareLogin]];
}
3、在登陆界面书写登陆代码
#pragma mark -
#pragma mark 微博登陆
-(void)weiBoLoginMethod
{
WBAuthorizeRequest * request = [WBAuthorizeRequestrequest];
request.redirectURI =KRedirectURI;
request.scope =@"all";
[WeiboSDKsendRequest:request];
}
//授权代理方法
-(void)didReceiveWeiboResponse:(WBBaseResponse *)response
{
NSLog(@"userInfo = %@",response.userInfo);
NSDictionary* userInfo = response.userInfo;
NSString* token = [userInfoobjectForKey:@"access_token"];
NSString* uid = [NSStringstringWithFormat:@"%@",[userInfoobjectForKey:@"uid"]];
if (token ==nil) {
UIAlertView* alert = [[UIAlertViewalloc]initWithTitle:@"登陆失败"message:@"请重新登陆"delegate:nilcancelButtonTitle:@"确定"otherButtonTitles:nil];
[alert show];
return;
}
//授权成功后通过收到的token和uid获取用户信息
NSMutableDictionary *params = [NSMutableDictionarydictionaryWithCapacity:2];
[params setObject:tokenforKey:@"access_token"];
[params setObject:uidforKey:@"uid"];
NSLog(@"params:%@", params);
WBHttpRequest * asiRequest = [WBHttpRequestrequestWithURL:@"https://api.weibo.com/2/users/show.json"httpMethod:@"GET"params:paramsdelegate:selfwithTag:@"getUserInfo"];
MBProgressHUD * hud = [MBProgressHUDshowHUDAddedTo:self.viewanimated:YES];
hud.labelText =@"收取用户信息..";
}
//获取用户信息方法
- (void)request:(WBHttpRequest *)request didFinishLoadingWithResult:(NSString *)result
{
NSError *error;
NSData *data = [resultdataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *json = [NSJSONSerializationJSONObjectWithData:dataoptions:kNilOptionserror:&error];
if (json ==nil)
{
NSLog(@"json parse failed \r\n");
return;
}
NSLog(@"json = %@",json);
//获取用户头像和昵称
NSString* screenname = [jsonobjectForKey:@"screen_name"];
NSString*picture = [jsonobjectForKey:@"profile_image_url"];
NSLog(@"usrName = %@",screenname);
NSLog(@"picture = %@",picture);
}
iOS 第三方登陆 —— 新浪微博相关推荐
- javaEE版 oauth2 第三方登陆新浪微博
关于如何授权,如何根据code取出uid和token,这里不多说了,详细参考前一篇. 将下载的javasdk项目的类库和jar文件完整导入项目如下图 在取得code的时候,是绑定在回调页面后面的,所以 ...
- python的flask实现第三方登录怎么写_关于qq和新浪微博的第三方登陆|python|flask
前些日子研究了一下qq和新浪微博的第三方登陆的东西,发现其实难度并不大.来给大家分享一下我的经验和流程. 不论是qq还是新浪微博的第三方登陆都是用了Oauth2.0授权流程,唯一不同的是qq多了一个o ...
- 新浪微博第三方登陆重定向错误23123
新浪微博第三方登陆重定向错误23123 2019年06月02日 13:49:43 温室花朵 阅读数:2更多 个人分类: 第三方微博登陆21323 编辑 当我们使用微博第三方登陆的时候,发现登陆出错了, ...
- IOS QQ第三方登陆提交AppleStore 被拒解决
IOS QQ第三方登陆提交AppleStore 被拒解决的原因,大多是苹果的审核人员手机里没有安装QQ,又没有跳到网页登陆,导致审核不通过. 解决办法: 找腾讯开放平台的客服开通申请应用的webvie ...
- Android第三方登陆之新浪微博Weibo篇(原生登陆授权)
前言 Android第三方登录可以说是非常的常见,今天主要先说一下新浪微博第三方登陆授权. SDK版本支持 SDK v3.0已经发布了支持iPhone和Android的版本. 须将你的应用的包名签名信 ...
- 新浪微博第三方登陆开发流程及常见问题
搞一个新浪微博第三方登陆费了我半天时间,现在把它的流程简单写一下,希望读者可以少走弯路. 大部分第三方登陆都是采用OAuth2.0接入方式(详见),我们所开发的网站项目可以使用两种方式进行接入: (1 ...
- Oauth2.0 QQ微信微博实现第三方登陆
一.写在前面 目前对于大多数的App或Web网站都支持有第三方登陆这个功能,用户可使用 QQ/ 微信/ 微博 帐号快速登录你的网站,降低注册门槛,为你的网站带来海量新用户.最近在新项目上刚好用到了,在 ...
- laravel 实现微博第三方登陆
1: 首先到新浪微博申请加入开发者: http://open.weibo.com/ 右上角登录,登录后点击右上角头像,选第一个编辑开发者信息并提交审核 然后导航栏 微连接->网站接入->立 ...
- 第三方登陆:微信官方登陆
第三方登陆:微信官方登陆 一.首先进入微信授权登陆之前的一个验证,在微信开放平台注册开发者账号,并拥有一个已经审核通过的移动应用,获得相应的AppID和AppSecrect,申请微信通过审核后(如下如 ...
最新文章
- 雷军:我的程序人生路
- HTML中checked1001无标题,是否可以一键切换两个CSS`:checked`伪类?
- 轻松恢复误删除的共享文件,DPM2007系列之六
- UBUNTU衍生版制作,系统的封装
- 一次线上Redis类转换异常排查引发的思考
- 如何查看一个组件的 classid是多少_万一免五(万1免5)是骗人的吗?如何查看自己的交易费率是多少?万一免五最新问题汇总!...
- SpringMVC(3):DispatcherServlet详解
- 如何在K8S上玩转TensorFlow ?
- Redis基础知识详解(非原创)
- php 生产一维码,透过 PHP 生成 一维码
- C++中关于指针入门的最好的文章
- Atitit.js javascript异常处理机制与java异常的转换.js exception process Voae
- 刷新页面后怎样让hover样式停留不消失
- 股票历史数据下载工具_免费在线批量下载股票历史数据工具
- C#.NET身份证验证算法
- 高级模电、数电实验室成套设备
- 四种XML解析方式详解
- 三维实景建模如何进行?有哪些作用
- jQuery大法第五式--动画效果
- 高分一号(GF-1)影像数据下载方法