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 第三方登陆 —— 新浪微博相关推荐

  1. javaEE版 oauth2 第三方登陆新浪微博

    关于如何授权,如何根据code取出uid和token,这里不多说了,详细参考前一篇. 将下载的javasdk项目的类库和jar文件完整导入项目如下图 在取得code的时候,是绑定在回调页面后面的,所以 ...

  2. python的flask实现第三方登录怎么写_关于qq和新浪微博的第三方登陆|python|flask

    前些日子研究了一下qq和新浪微博的第三方登陆的东西,发现其实难度并不大.来给大家分享一下我的经验和流程. 不论是qq还是新浪微博的第三方登陆都是用了Oauth2.0授权流程,唯一不同的是qq多了一个o ...

  3. 新浪微博第三方登陆重定向错误23123

    新浪微博第三方登陆重定向错误23123 2019年06月02日 13:49:43 温室花朵 阅读数:2更多 个人分类: 第三方微博登陆21323 编辑 当我们使用微博第三方登陆的时候,发现登陆出错了, ...

  4. IOS QQ第三方登陆提交AppleStore 被拒解决

    IOS QQ第三方登陆提交AppleStore 被拒解决的原因,大多是苹果的审核人员手机里没有安装QQ,又没有跳到网页登陆,导致审核不通过. 解决办法: 找腾讯开放平台的客服开通申请应用的webvie ...

  5. Android第三方登陆之新浪微博Weibo篇(原生登陆授权)

    前言 Android第三方登录可以说是非常的常见,今天主要先说一下新浪微博第三方登陆授权. SDK版本支持 SDK v3.0已经发布了支持iPhone和Android的版本. 须将你的应用的包名签名信 ...

  6. 新浪微博第三方登陆开发流程及常见问题

    搞一个新浪微博第三方登陆费了我半天时间,现在把它的流程简单写一下,希望读者可以少走弯路. 大部分第三方登陆都是采用OAuth2.0接入方式(详见),我们所开发的网站项目可以使用两种方式进行接入: (1 ...

  7. Oauth2.0 QQ微信微博实现第三方登陆

    一.写在前面 目前对于大多数的App或Web网站都支持有第三方登陆这个功能,用户可使用 QQ/ 微信/ 微博 帐号快速登录你的网站,降低注册门槛,为你的网站带来海量新用户.最近在新项目上刚好用到了,在 ...

  8. laravel 实现微博第三方登陆

    1: 首先到新浪微博申请加入开发者: http://open.weibo.com/ 右上角登录,登录后点击右上角头像,选第一个编辑开发者信息并提交审核 然后导航栏 微连接->网站接入->立 ...

  9. 第三方登陆:微信官方登陆

    第三方登陆:微信官方登陆 一.首先进入微信授权登陆之前的一个验证,在微信开放平台注册开发者账号,并拥有一个已经审核通过的移动应用,获得相应的AppID和AppSecrect,申请微信通过审核后(如下如 ...

最新文章

  1. 雷军:我的程序人生路
  2. HTML中checked1001无标题,是否可以一键切换两个CSS`:checked`伪类?
  3. 轻松恢复误删除的共享文件,DPM2007系列之六
  4. UBUNTU衍生版制作,系统的封装
  5. 一次线上Redis类转换异常排查引发的思考
  6. 如何查看一个组件的 classid是多少_万一免五(万1免5)是骗人的吗?如何查看自己的交易费率是多少?万一免五最新问题汇总!...
  7. SpringMVC(3):DispatcherServlet详解
  8. 如何在K8S上玩转TensorFlow ?
  9. Redis基础知识详解(非原创)
  10. php 生产一维码,透过 PHP 生成 一维码
  11. C++中关于指针入门的最好的文章
  12. Atitit.js javascript异常处理机制与java异常的转换.js exception process Voae
  13. 刷新页面后怎样让hover样式停留不消失
  14. 股票历史数据下载工具_免费在线批量下载股票历史数据工具
  15. C#.NET身份证验证算法
  16. 高级模电、数电实验室成套设备
  17. 四种XML解析方式详解
  18. 三维实景建模如何进行?有哪些作用
  19. jQuery大法第五式--动画效果
  20. 高分一号(GF-1)影像数据下载方法

热门文章

  1. 分享一个绿色的食品蔬菜水果外卖预订网站bootstrap模板
  2. CS231n-2022 Module1: 神经网络3:Learning and Evaluation
  3. 基于贝叶斯优化方法的自动调参实现
  4. 红外额温枪的原理和红外线温度传感器的解析
  5. 【shell】压缩包解压密码暴力破解脚本工具源码
  6. 华为笔记本linux系统怎么改win10,华为MateBook E笔记本安装win10系统的操作教程
  7. 最全user-agent,1000+条够你用
  8. CentOS虚拟化尝试
  9. 一文让你快速写上扫雷游戏!童年的经典游戏,发给你的小女友让你装一波!!
  10. 你想成为什么样的人?