博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS学习之iOS5.0以上 使用新浪微博开放平台OAuth
阅读量:6224 次
发布时间:2019-06-21

本文共 2002 字,大约阅读时间需要 6 分钟。

hot3.png

新浪微博开放平台为第三方应用提供了简便的合作模式,满足了手机用户和平板电脑用户随时随地分享信息的需求。通过调用平台的api即可实现很多微博上的功能。

本篇主要目的是记录新浪微博移动SDK iOS版本的在iOS5下的嵌入和使用。

1、申请一个新浪微博的移动应用 。

申请地址:http://open.weibo.com/development,申请后得到App key 和 App Secret

2、下载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是: 发送微博并上传图片。如果在微博上显示地图,那就发送经纬度参数,多加上

lat false float 纬度,有效范围:-90.0到+90.0,+表示北纬,默认为0.0。
long false float 经度,有效范围:-180.0到+180.0,+表示东经,默认为0.0。

7、调用自定义api

6步骤里调用的是sdk里封装好的,那微博这么api和功能,怎么调用呢?

我们试着获取个人信息

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文档都在这个页面,使用的方法和例子都有。

需要什么用什么接口,把loadRequestWithMethodName 改变成自己需要的接口,params参数改成需要的参数,就可以了。

有的接口是不需要params的,比如

statuses/friends_timeline.json获取关注人的微博,这里params可以是nil.

PS:本篇记录用的是Oauth认证,xauth认证需要审核资格才能使用的。 

8、项目源码下载地址:

著作权声明:本文由原创,欢迎转载分享。请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢!

转载于:https://my.oschina.net/201003674/blog/288755

你可能感兴趣的文章
nodejs基础 -- NPM 使用介绍
查看>>
Loadrunner中关联的作用:
查看>>
(转)BT1120接口及协议
查看>>
Robot Framework与Web界面自动化测试学习笔记:定位到新窗口
查看>>
The Dataflow Model 论文
查看>>
Linux守护进程
查看>>
遇到没“人性”的管理:你真可怜!
查看>>
http://www.bootcss.com/p/font-awesome/
查看>>
新浪微博UWP UI意见征求
查看>>
使用ServiceStack构建Web服务
查看>>
Linqer工具
查看>>
table中超过长度的列,显示省略号
查看>>
Qtcreator中经常使用快捷键总结
查看>>
可扩展Web架构与分布式系统(转)
查看>>
KVM虚拟机的安装
查看>>
【转】PHP中require和include路径问题总结
查看>>
Android 监听apk安装替换卸载广播
查看>>
指针之——一级二级多级指针
查看>>
AndroidStudio遇到过的问题
查看>>
MySQL整体架构与内存结构
查看>>