此版本微博SDK实现了Oauth2.0认证登录功能,将复杂的认证签名过程隐藏起来,并将OPEN api的调用进一步包装,方便第三方应用登录、访问。
expiration_time: 过期时间,用于判断token值是否过期。
注意:app_redirect_uri,即第三方应用登录回调页,可在微博开放平台上找到,具体路径:开放平台->我的应用->应用信息->高级信息->OAuth2.0授权设置->授权回调页;若显示尚未填写,请设置此属性,否则将造成SDK登录时错误。
//#define kAppKey @"your app_key"
等三行,并根据自己应用的属性为kAppKey等常量赋值;第三方应用使用SDK需要完成DEMO中包含的基本工作。创建自己的工程,并将weibo_sdk_oAuth/src目录下的JSONKit和SinaWeibo两个文件夹复制到自己的工程目录中并添加到工程。
实现Oauth2.0认证登录需要实现以下内容:
- 定义app_key,app_secret和app_direct_uri三个变量,初始化SinaWeibo对象时使用;
- 参照demo实现SinaWeiboDelegate协议,实现后类的对象在初始化SinaWeibo对象时使用;
- 创建SinaWeibo对象并初始化,调用
[SinaWeibo login]
登录,并在实现的SinaWeiboDelegate中监听登录结果;- 退出时调用
[SinaWeibo logout]
,同样在实现的SinaWeiboDelegate中监听退出结果,其操作可参考DEMO中的实现。
调用OPEN API
- 实现SinaWeiboRequestDelegate协议;
- 调用SinaWeibo中的
- (SinaWeiboRequest *)requestWithURL:.. params:.. httpMethod:.. delegate:..
方法实现OPEN API调用,调用前需初始化url(OPEN API url,以获取用户信息为例,赋值为@"users/show.json"
),params(调用接口参数,初始化为[NSMutableDictionary dictionaryWithObject:sinaweibo.userID forKey:@"uid"]
),httpMethod(http类型,赋值为@"GET"
),_delegate(SinaWeiboRequestDelegate对象);- 调用完成后,SDK将通过SinaWeiboRequestDelegate对象将访问结果返回给第三方应用,通过
- (void)request:.. didFailWithError:..
接收失败信息,通过- (void)request:.. didFinishLoadingWithResult:..
接收成功的访问结果。
使用此SDK需要满足以下条件:
注意:关于授权回调页,对移动客户端应用来说对用户是不可见的,所以定义为何种形式都不影响,但是如果没有定义将无法使用SDK进行认证登录。