最近要做的应用需要有分享到新浪微博的功能,就上网上查了一些资料,感觉网上的东西很多,sdk有好几个版本,刚开始令自己很迷惑,最后慢慢理清了思路。把看的内容整理一下,和大家共同学习交流。
一 认证的流程:
需要需要在http://open.weibo.com/development创建一个应用,从而获取应用的app key和app secret。
选用的sdk是“JimLiu-WeiboSDK”,使用OAuth授权认证。
JimLiu-WeiboSDK工程内容很多,最核心的是目录:WeiboEngine。
1. 目录WeiboEngine下的目录OAuthConsumer是一个第三方库,用于实现OAuth授权与认证。
2. 文章http://code.google.com/p/oauthconsumer/wiki/UsingOAuthConsumer描述了使用OAuthConsumer进行授权和认证的流程。
3. 目录WeiboEngine下的文件OAuthEngine.h、OAuthEngine.m封装了http://code.google.com/p/oauthconsumer/wiki/UsingOAuthConsumer描述了使用OAuthConsumer描述的使用OAuthConsumer进行授权和认证的接口.
4.OAuthController.h、OAuthController.m用于完成授权和认证。
4.1 利用在新浪微博注册的App Key和App
Secret向"http://api.t.sina.com.cn/oauth/request_token"获取未经用户授权的request token.
4.2 使用“未经用户授权的request
token”向”http://api.t.sina.com.cn/oauth/authorize“申请授权。此时会显示一个Web界面,需要用户输入新浪微博的用户名和密码,用户进行授权后,web界面会返回一个pin值。
4.3 利用web界面返回的pin值,向"http://api.t.sina.com.cn/oauth/access_token"申请存取权限。
5. 完成授权后,就可以利用WeiboClient.h、WeiboClient.m的接口发表微博及获取好友等的信息。
二:“JimLiu-WeiboSDK”的使用
使用“JimLiu-WeiboSDK”进行授权认证非常简单,只需要把“JimLiu-WeiboSDK”的目录WeiboEngine拷贝出来。应用进行授权时,代码可以简单的写为:
OAuthEngine
*engine = [[OAuthEngine
alloc]
initOAuthWithDelegate:
self];
engine.consumerKey
= kOAuthConsumerKey;
///kOAuthConsumerKey为在新浪微博注册的App
Key
engine.consumerSecret
= kOAuthConsumerSecret;
///kOAuthConsumerSecret为在新浪微博注册的App
Secret
/// 获取进行认证的视图控制器
UIViewController
*controller = [OAuthController
controllerToEnterCredentialsWithEngine:
_engine delegate:
self];
///
如果没有认证过,则加载认证的界面
if
(controller)
[self
presentModalViewController:
controller animated:
YES];
else
{
///
如果已经认证过,则执行程序流程
[OAuthEngine
setCurrentOAuthEngine:_engine
];
另外如果没有认证过,当认证成功完成后,文件OAuthController.m中的函数-
(void)
gotPin: (NSString
*) pin会被调用。可以在该函数中执行
[self
performSelector: @selector(dismissModalViewControllerAnimated:)
withObject: (id)
kCFBooleanTrue afterDelay:
0.0];关闭认证视图,显示应用界面。
最后应用可以实现保存和获取认证信息的代理函数:
1.
- (void) storeCachedOAuthData: (NSString *) data forUsername: (NSString *) username
2.
- (NSString *) cachedOAuthDataForUsername: (NSString *) username
3.
- (void)removeCachedOAuthDataForUsername:(NSString *) username
分享到:
相关推荐
分享到新浪微博和搜狐微博
完整版的新浪微博分享源代码,供学习,参考。
一键分享到新浪微博,腾讯微博,人人网,QQ空间,微信好友圈
做了好久才做出来了,就是一个简单的分享到新浪微博的示例,希望对你有帮助。
ios分享到新浪微博的源码,供有需要的人使用!
ASP,NET分享到新浪微博微信实例代码
一键分享ShareSDK分享到新浪腾通微博
将文章快速分享到新浪微博、人人网、腾讯微博、豆瓣网等代码
FTP上传附件包的两个文件到论坛相应的目录即可。
iOS天气查询小demo 可将天气信息分享到新浪微博 输入未做判断,可自行改进。城市名称请去ViewDidLoad中查询输入测试 欢迎学习交流。
主要介绍了js实现选中页面文字将其分享到新浪微博,需要的朋友可以参考下
NULL 博文链接:https://axl234.iteye.com/blog/1317778
简单的新浪微博分享实现,一键授权认证并分享
在SBJson中有个地方会报错,注释掉就行。
本demo包含新浪微博,人人网,豆瓣网,开心网,QQ空间等二十个左右的SDK及分享。
提供给android初级开发分享的朋友们,绝对有用哦
NULL 博文链接:https://axl234.iteye.com/blog/1532434
这是模仿新浪微博写的,可以实现分享、上传图片等功能。。。
新浪微博自定义分享利器 新浪微博自定义分享利器