开放平台
来源:互联网 发布:自动注册会员软件 编辑:程序博客网 时间:2024/04/27 22:49
一,开放平台介绍:
开放平台:第三方应用通过开放平台将自己的产品,资讯分享到微博等应用上,有助于推广产品,增加网站,应用的流量,拓展新用户,获得收益。
新浪微博移动应用平台为第三方提供了简单的合作模式,满足了多种移动终端用户随时随地分享信息的需求。移动开放平台提供微博接口及组件,以实现第三方移动站点,客户端,机顶盒,车载设备的接入。
提供移动客服端开源SDK下载,方便开发者集成微博功能,降低开发成本
二,OAuth认证:
开放平台将接口开放,须通过授权认证来保证安全
OAuth通常包括三种角色,消费方,服务提供方,用户。消费方使用认证,需从提供方申请两样东西。 Consumer Key Consumer Secret。
三,新浪微博SDK
SDK下载地址 http://open.weibo.com/wiki/SDK
API接口文档下载地址 http://open.weibo.com/wiki/API
微博 SDK 为开发者提供访问微博 api 的集成接口,将身份验证以及 api 调用集成起来。并集成 sso 登录功能,使第三方应用可通过新浪微博官方客户端快速通过Oauth2.0 授权,并完成用户登录操作。
本文档将对使用 IOS SDK时所用的一些参数、接口进行说明,并分析一个简单示例,帮助第三方更方便的使用 SDK(一些不使用的接口只做简单说明)。
名词解释
AppKey
分配给每个第三方应用的 app key。用于鉴权身份,显示来源等功能。
APPSecret
生成请求 request Token 的 secret,与 app key 一起分配。
AccessToken
表示用户身份的 token,用于微博 API 的调用。
ExpirationDate
过期时间,用于判断登录是否过期。
RedirectURI
应用回调页面,可在新浪微博开放平台->我的应用->应用信息->高级应用->授权设置->应用回调页中找到。
ssoCallbackScheme
sso 回调地址,info.plist 中定义的 URL types,用于在微博客户端完成 sso登录后进行回调。
四,简单实现下第三方应用通过新浪微博开发平台授权访问自己的微博
将SDK导入程序中,在AppDelegate.m完成验证
_sinaweibo = [[SinaWeibo alloc] initWithAppKey:kAppKey appSecret:kAppSecret appRedirectURI:kAppRedirectURI andDelegate:self]; //取得本地保存的验证信息 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSDictionary *sinaweiboInfo = [defaults objectForKey:@"SinaWeiboAuthData"]; if ([sinaweiboInfo objectForKey:@"AccessTokenKey"]&& [sinaweiboInfo objectForKey:@"ExpirationDateKey"]&& [sinaweiboInfo objectForKey:@"UserIDKey"]) { _sinaweibo.accessToken = [sinaweiboInfo objectForKey:@"AccessTokenKey"]; _sinaweibo.expirationDate = [sinaweiboInfo objectForKey:@"ExpirationDateKey"]; _sinaweibo.userID = [sinaweiboInfo objectForKey:@"UserIDKey"];
#pragma mark - SinaWeibo delegate// 授权成功调用协议方法- (void)sinaweiboDidLogIn:(SinaWeibo *)sinaweibo { //保存认证的信息 NSDictionary *authData = [NSDictionary dictionaryWithObjectsAndKeys: sinaweibo.accessToken, @"AccessTokenKey", sinaweibo.expirationDate, @"ExpirationDataKey", sinaweibo.userID, @"UserIDKey", sinaweibo.refreshToken, @"refresh_token", nil]; [[NSUserDefaults standardUserDefaults] setObject:authData forKey:@"SinaWeiboAuthData"]; [[NSUserDefaults standardUserDefaults] synchronize]; }//注销调用- (void)sinaweiboDidLogOut:(SinaWeibo *)sinaweibo { //移除本地保存的认证消息 [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"SinaWeiboAuthData"]; [[NSUserDefaults standardUserDefaults] synchronize];}//认证失败调用协议方法- (void) sinaweibo:(SinaWeibo *) sinaweibo logInDidFailWithError:(NSError *)error { NSLog(@"认证失败 %@",error);}
导入实现下效果
@interface HomeViewController () <SinaWeiboRequestDelegate>@end@implementation HomeViewController- (void)viewDidLoad { [super viewDidLoad]; SinaWeibo *sinaweibo = [self sinaweibo]; //判断是否授权 if (!sinaweibo.isAuthValid) { [sinaweibo logIn]; } else { //授权的话就请求数据 [sinaweibo requestWithURL:@"statuses/home_timeline.json" params:nil httpMethod:@"GET" delegate:self]; } - (IBAction)_logoutAction:(UIBarButtonItem *)sender { SinaWeibo *sinaweibo = [self sinaweibo]; [sinaweibo logOut];}- (IBAction)_loginAction:(UIBarButtonItem *)sender { SinaWeibo *sinaweibo = [self sinaweibo]; [sinaweibo logIn];}- (SinaWeibo *) sinaweibo { AppDelegate *delegate = (AppDelegate *)[UIApplication sharedApplication].delegate; return delegate.sinaweibo;}#pragma mark - SinaWeiboRequest delegate- (void)request:(SinaWeiboRequest *)request didFailWithError:(NSError *)error { NSLog(@"加载网络失败:%@",error);}- (void)request:(SinaWeiboRequest *)request didFinishLoadingWithResult:(id)result { NSLog(@"%@",result); }
- 开放平台
- 开放平台
- 开放平台
- 开放平台
- 开放平台
- 淘宝“开放平台”正式开放
- 淘宝开放平台与拍拍开放平台
- “校内网”开放平台
- 校内网开放平台
- 开放的SaaS平台
- 开放平台规划攻略
- 关于淘宝开放平台
- 互联网需要:开放+平台
- 百度搜索开放平台
- SNS开放平台产业链
- 开放平台调查
- qq平台开放
- 开放平台安全性考虑
- 啊受到广泛的广汇股份脚后跟
- 第一排固定高度,第二排固定高度
- 数据结构基本结构简介
- (一)NotBoringActionBar之自定义组件ParallaxImageView
- Convert Sorted Array to Binary Search Tree--LeetCode
- 开放平台
- 模版库简介
- 哈希算法
- opencv中Mat与IplImage,CVMat类型之间转换
- 算法导论-归并排序
- Convert Sorted List to Binary Search Tree--LeetCode
- git 基本的本地操作
- 【机房合作】——重新认识设计模式
- iOS 纯代码适配iPhone6,6+