iOS 集成第三方微博登录功能
来源:互联网 发布:代办申请淘宝直播 编辑:程序博客网 时间:2024/06/07 06:43
重点内容详细集成微博登录功能的步骤如下:重点内容
1.先到官网下载微博SDK
2.将其导入你要集成的工程中
3.导入相关的系统依赖库即可
import “AppDelegate.h”
@interface AppDelegate ()
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions {
[WeiboSDK enableDebugMode:YES];
[WeiboSDK registerApp:kAppKey];
return YES;
}
pragma mark - WeiboSDKDelegate
- (void)didReceiveWeiboRequest:(WBBaseRequest *)request {
}
- (void)didReceiveWeiboResponse:(WBBaseResponse *)response
{
if ([response isKindOfClass:WBAuthorizeResponse.class])
{
NSString *title = NSLocalizedString(@”认证结果”, nil);
NSString message = [NSString stringWithFormat:@”%@: %d\nresponse.userId: %@\nresponse.accessToken: %@\n%@: %@\n%@: %@”, NSLocalizedString(@”响应状态”, nil), (int)response.statusCode,[(WBAuthorizeResponse )response userID], [(WBAuthorizeResponse *)response accessToken], NSLocalizedString(@”响应UserInfo数据”, nil), response.userInfo, NSLocalizedString(@”原请求UserInfo数据”, nil), response.requestUserInfo];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title
message:message
delegate:nil
cancelButtonTitle:NSLocalizedString(@”确定”, nil)
otherButtonTitles:nil];
self.wbtoken = [(WBAuthorizeResponse *)response accessToken]; self.wbCurrentUserID = [(WBAuthorizeResponse *)response userID]; self.wbRefreshToken = [(WBAuthorizeResponse *)response refreshToken]; [alert show];}
(void)getUserInfo{
NSString *accessTokenRequestURLStr = [NSString stringWithFormat:@”https://api.weibo.com/2/users/show.json“];
// WBHttpRequest * wbRequest = [WBHttpRequest requestWithURL:@”https://api.weibo.com/2/users/show.json” httpMethod:@”GET” params:params delegate:self withTag:@”getUserInfo”];
NSURL *accessTokenRequestURL = [NSURL URLWithString:accessTokenRequestURLStr];// 2,创建post请求
NSMutableURLRequest *mutRequest = [[NSMutableURLRequest alloc]initWithURL:accessTokenRequestURL cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
//设置请求方式为POST,默认为GET
[mutRequest setHTTPMethod:@”GET”];// 3,连接服务器,并接收返回的数据
NSData *receivedData = [NSURLConnection sendSynchronousRequest:mutRequest returningResponse:nil error:nil];
// 将服务器返回的数据转成字串(实质是JSON数据)
NSString *responseStr = [[NSString alloc]initWithData:receivedData encoding:NSUTF8StringEncoding];
NSLog(@”Response json is :%@”,responseStr);NSMutableDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:receivedData options:NSJSONReadingMutableContainers error:nil];
// 通过键,取到access_token
NSString *access_token = [dictionary objectForKey:@”access_token”];
NSLog(@”access token is:%@”,access_token);// 通过键,取到用户的uid
NSString *uid = [dictionary objectForKey:@”openId”];
NSString *nickName = [dictionary objectForKey:@”nickName”];
NSLog(@”uid is:%@ nickName: %@”,uid,nickName);
// [CYUCPassportLib loginWithOtherPlarform:CYUC_OTHER_PLATFORM_WEIBO
// uid:uid
// nickName:nickName synchronous:YES
// completionHandler:^(NSDictionary *result) {
// NSDictionary *dicNotificationUserInfo = [NSDictionary dictionaryWithObjectsAndKeys:@(CYUC_RETURN_APP_STATU_SUCCESS), CYUC_RETURN_APP_DICTIONARY_KEY_STATU, [CYUCManager sharedInstance].userInfo, @”userinfo”, nil];
// [[NSNotificationCenter defaultCenter] postNotificationName:CYUC_NOTIFICATION_USER_INFO object:dictionary userInfo:dicNotificationUserInfo];
//
// NSLog(@”%@”, result);
// }];
}
- (BOOL)application:(UIApplication )application openURL:(NSURL )url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return [WeiboSDK handleOpenURL:url delegate:self];
}
(BOOL)application:(UIApplication )application handleOpenURL:(nonnull NSURL )url{
return [WeiboSDK handleOpenURL:url delegate:self];
}
import ViewController
@interface ViewController : UIViewController
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];UIButton *ssoButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];[ssoButton setTitle:NSLocalizedString(@"请求微博认证(SSO授权)", nil) forState:UIControlStateNormal];[ssoButton addTarget:self action:@selector(ssoButtonPressed) forControlEvents:UIControlEventTouchUpInside];ssoButton.frame = CGRectMake(20, 90, 280, 40);ssoButton.backgroundColor = [UIColor grayColor];[self.view addSubview:ssoButton];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
- (void)ssoButtonPressed{
WBAuthorizeRequest *request = [WBAuthorizeRequest request];request.redirectURI = kRedirectURI;request.scope = @"all";request.userInfo = @{@"SSO_From": @"SendMessageToWeiboViewController", @"Other_Info_1": [NSNumber numberWithInt:123], @"Other_Info_2": @[@"obj1", @"obj2"], @"Other_Info_3": @{@"key1": @"obj1", @"key2": @"obj2"}};[WeiboSDK sendRequest:request];
}
@end
- iOS 集成第三方微博登录功能
- React Native 集成分享第三方登录功能分享第三方登录模块开发(iOS)
- iOS学习笔记55- iOS项目集成ShareSDK实现第三方登录、分享、关注等功能。
- IOS项目集成ShareSDK实现第三方登录、分享、关注等功能。
- IOS项目集成ShareSDK实现第三方登录、分享、关注等功能。
- IOS项目集成ShareSDK实现第三方登录、分享、关注等功能。
- IOS项目集成ShareSDK实现第三方登录、分享、关注等功能。
- IOS项目集成ShareSDK实现第三方登录、分享、关注等功能
- IOS项目集成ShareSDK实现第三方登录、分享、关注等功能。
- IOS项目集成ShareSDK实现第三方登录、分享、关注等功能。
- IOS项目集成ShareSDK实现第三方登录、分享、关注等功能。
- IOS项目集成ShareSDK实现第三方登录、分享、关注等功能。
- IOS项目集成ShareSDK实现第三方登录、分享、关注等功能
- IOS项目集成ShareSDK实现第三方登录、分享、关注等功能。
- IOS项目集成ShareSDK实现第三方登录、分享、关注等功能。
- iOS项目集成ShareSDK实现第三方登录、分享、关注等功能。
- IOS项目集成ShareSDK实现第三方登录、分享、关注等功能。
- IOS项目集成ShareSDK实现第三方登录、分享、关注等功能
- 欢迎使用CSDN-markdown编辑器
- hiho 17 最近公共祖先(三) 转换为区间最值查找 ST
- Android:ContentProvider 随记2
- Sublime Text 3添加到右键菜单
- Android布局之LinerLayout点滴
- iOS 集成第三方微博登录功能
- Debug模式和Release模式
- c# 中执行js的问题
- 解决Unable to locate Spring NamespaceHandler for XML schema namespace
- 安卓手机拍照未显示到图库中参考办法
- 产品设计——需求阶段该做的事!
- 汇编语言三满分答案
- spark on yarn的理解
- Android中WIFI开发总结(二)