新版的新浪微博SDK AUTH2.0认证一般只支持网页认证,即弹出一个WebView登录。登录后只要不注销,即使退出app,下次进入程序还是保存登录状态。这里有个问题,注销后如果不手动清除cookies,再点进入登录页面会自动登录到前一个用户。
在viewDidLoad里初始化weiBoEngine。kWBSDKAppKey,(kWBSDKAppSecret当然是你申请应用时给你的key咯)
初始化好后登录很简单:
回调函数:
返回值为NSDictionary类型,具体结构也参见开放平台接口说明。
首先把SDK的工程拖入我们的工程里,复制里面的SDK目录到我们的目录,然后就可以删去SDK工程了。注意删除工程时别把源文件删掉!
按照DEMO包含该包含的文件,添加属性WBEngine
#import "WBEngine.h"
#import "WBSendView.h"
#import "WBLogInAlertView.h"
@interface ViewController : UIViewController
{
WBEngine *weiBoEngine;
}
@property(nonatomic,retain) WBEngine *weiBoEngine;
@implementation ViewController
@synthesize weiBoEngine;
在viewDidLoad里初始化weiBoEngine。kWBSDKAppKey,(kWBSDKAppSecret当然是你申请应用时给你的key咯)
WBEngine *engine = [[WBEnginealloc] initWithAppKey:kWBSDKAppKey appSecret:kWBSDKAppSecret];
[engine setRootViewController:self];
[engine setDelegate:self];
[engine setRedirectURI:@"http://"];
[engine setIsUserExclusive:NO];
self.weiBoEngine = engine;
[engine release];
初始化好后登录很简单:
[weiBoEnginelogIn];
回调函数见DEMO,很简单。
获取信息,加粉丝都用loadRequestWithMethodName方法,参数可参照开放平台上面的各个接口说明。
NSMutableDictionary *params = [NSMutableDictionarydictionaryWithCapacity:2];
[params setObject:weiBoEngine.accessTokenforKey:@"access_token"];
[params setObject:weiBoEngine.userIDforKey:@"uid"];
[weiBoEngineloadRequestWithMethodName:@"users/show.json"
httpMethod:@"GET"
params:params
postDataType:kWBRequestPostDataTypeNone
httpHeaderFields:nil];
回调函数:
- (void)engine:(WBEngine *)engine requestDidSucceedWithResult:(id)result
{
//登录成功
// NSLog(@"requestDidSucceedWithResult: %@", result);
if ([result isKindOfClass:[NSDictionaryclass]])
{
NSDictionary *dict = (NSDictionary *)result;
}
}
返回值为NSDictionary类型,具体结构也参见开放平台接口说明。