iOS学习之iOS5.0以上 使用新浪微博开放平台OAuth
2013-10-25 11:11
148 查看
http://blog.csdn.net/totogo2010/article/details/7970248
新浪微博开放平台为第三方应用提供了简便的合作模式,满足了手机用户和平板电脑用户随时随地分享信息的需求。通过调用平台的api即可实现很多微博上的功能。
本篇主要目的是记录新浪微博移动SDK iOS版本的在iOS5下的嵌入和使用。
导入SDK
双击需要标识的文件,输入-fno-objc-arc。
这样weibo SDK的文件就不会以arc的方式编译了。
登录调用
[weiBoEngine logIn];
注销调用
[weiBoEngine logOut];
发微博:
可以调用SDK默认的界面发送:
WBSendView *sendView = [[WBSendView
alloc] initWithAppKey:appKey
appSecret:appSecret text:@"test"
image:[UIImage
imageNamed:@"bg.png"]];
[sendView setDelegate:self];
[sendView show:YES];
对应的发送微博的api是:statuses/upload 发送微博并上传图片。如果在微博上显示地图,那就发送经纬度参数,多加上
我们试着获取个人信息
[cpp]
view plaincopy
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithCapacity:2];
[params setObject:[engine accessToken]forKey:@"access_token"];
[params setObject:[engine userID]forKey:@"uid"];
NSLog(@"params:%@", params);
[engine loadRequestWithMethodName:@"users/show.json"
httpMethod:@"GET"
params:params
postDataType:kWBRequestPostDataTypeNone
httpHeaderFields:nil];
params的参数是必须的。
返回的数据参考接口http://open.weibo.com/wiki/2/users/show
这样可以获取微博自己的昵称等信息。
微博所有api文档都在这个页面http://open.weibo.com/wiki/API%E6%96%87%E6%A1%A3_V2,使用的方法和例子都有。
需要什么用什么接口,把loadRequestWithMethodName 改变成自己需要的接口,params参数改成需要的参数,就可以了。
有的接口是不需要params的,比如
statuses/friends_timeline.json获取关注人的微博,这里params可以是nil.
PS:本篇记录用的是Oauth认证,xauth认证需要审核资格才能使用的。
新浪微博开放平台为第三方应用提供了简便的合作模式,满足了手机用户和平板电脑用户随时随地分享信息的需求。通过调用平台的api即可实现很多微博上的功能。
本篇主要目的是记录新浪微博移动SDK iOS版本的在iOS5下的嵌入和使用。
1、申请一个新浪微博的移动应用 。
申请地址:http://open.weibo.com/development,申请后得到App key 和 App Secret2、下载iOS_sdk
下载地址:http://open.weibo.com/wiki/SDK#iOS_SDK ,下载第一个就ok了。3、新建一个项目Sina_weibo,选择single View app。而且使用5.0后的ARC特性 。 导入解压后的sdk
导入SDK
4、适配SDK在arc环境下运行
这时候运行程序,你会发现很多关于ARC的错误,因为sdk里是没有使用arc的。这时候如果想sdk的文件不参与arc方式的编译,那就需要做下设置,在Build Phases里添加“-fno-objc-arc”标示双击需要标识的文件,输入-fno-objc-arc。
这样weibo SDK的文件就不会以arc的方式编译了。
5、 在自己的工程里面增加Security.framework。SDK需要使用Security.framework将OAuth认证以后的token放到keyChain里面从而增加整个工程的安全性。
这时候运行,程序就编译运行正常了6、其他的和SDK里的Demo一样了
登录调用
[weiBoEngine logIn];
注销调用
[weiBoEngine logOut];
发微博:
可以调用SDK默认的界面发送:
WBSendView *sendView = [[WBSendView
alloc] initWithAppKey:appKey
appSecret:appSecret text:@"test"
image:[UIImage
imageNamed:@"bg.png"]];
[sendView setDelegate:self];
[sendView show:YES];
对应的发送微博的api是:statuses/upload 发送微博并上传图片。如果在微博上显示地图,那就发送经纬度参数,多加上
lat | false | float | 纬度,有效范围:-90.0到+90.0,+表示北纬,默认为0.0。 |
long | false | float | 经度,有效范围:-180.0到+180.0,+表示东经,默认为0.0。 |
7、调用自定义api
6步骤里调用的是sdk里封装好的,那微博这么api和功能,怎么调用呢?我们试着获取个人信息
[cpp]
view plaincopy
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithCapacity:2];
[params setObject:[engine accessToken]forKey:@"access_token"];
[params setObject:[engine userID]forKey:@"uid"];
NSLog(@"params:%@", params);
[engine loadRequestWithMethodName:@"users/show.json"
httpMethod:@"GET"
params:params
postDataType:kWBRequestPostDataTypeNone
httpHeaderFields:nil];
params的参数是必须的。
返回的数据参考接口http://open.weibo.com/wiki/2/users/show
这样可以获取微博自己的昵称等信息。
微博所有api文档都在这个页面http://open.weibo.com/wiki/API%E6%96%87%E6%A1%A3_V2,使用的方法和例子都有。
需要什么用什么接口,把loadRequestWithMethodName 改变成自己需要的接口,params参数改成需要的参数,就可以了。
有的接口是不需要params的,比如
statuses/friends_timeline.json获取关注人的微博,这里params可以是nil.
PS:本篇记录用的是Oauth认证,xauth认证需要审核资格才能使用的。
8、项目源码下载地址:http://download.csdn.net/detail/totogo2010/4633077
相关文章推荐
- iOS学习之iOS5.0以上 使用新浪微博开放平台OAuth
- IOS学习之IOS5.0以上 使用新浪微博开放平台OAuth
- iOS学习之iOS5.0以上使用新浪微博开放平台OAuth 续(及解决登录无效问题)
- iOS学习之iOS5.0以上 使用新浪微博开放平台OAuth
- iOS学习之iOS5.0以上 使用新浪微博开放平台OAuth
- iOS学习之iOS5.0以上 使用新浪微博开放平台OAuth
- iOS学习之iOS5.0以上使用新浪微博开放平台OAuth 续(及解决登录无效问题)
- iOS5.0以上使用新浪微博开放平台OAuth 续(及解决登录无效问题)
- iOS学习之iOS5.0以上 使用新…
- iOS学习之iOS5.0以上使用新浪微博…
- iOS学习之iOS5.0以上使用新…
- iOS学习笔记1--在xcode6以上的版本中不使用storyboard以及部分控件使用
- iOS学习之iOS5.0以上 …
- ElasticSearch学习(2)--使用Kibana连接ES(5.0以上版本)
- iOS学习之UINavigationController详解与使用(二)页面切换和segmentedController
- iOS学习之Table View的简单使用
- IOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem
- iOS学习之UIActionSheet的使用
- iOS学习之Socket使用简明教程- AsyncSocket
- 开源中国iOS客户端学习——(十三)使用UIWebView控件布局视图