微博开放平台微博SDK第三方登录

步骤一:添加应用

进入新浪微博开放平台(没有的话自行注册),进入“管理中心“,点击”创建应用”,选择“微链接应用”,再点击“创建应用”,,选“移动应用”,填写相应的信息,其中应用地址没有的话可随便,勾选平台后提交。注意保存你的App Key和App Secret以备后用。

步骤二:Oauth2.0授权设置

应用创建完后可以在“管理中心”-“我的应用”中查看信息,在“应用信息”–“高级信息”中可以设置网站的授权回调页和取消授权回调页。授权回调页会在用户授权成功后会被回调,同时传回一个“code”参数,开发者可以用code换取Access_Token值。当然如果是移动应用,比如本文是没有自己授权回调页的,建议这里填:https://api.weibo.com/oauth2/default.html 或者 http://www.baidu.com 之类的。如果授权后传回的形式如下:
https://api.weibo.com/oauth2/default.html?code=a6146547f981199c07348837b0629d5d

我们只要获取其中code的值a6146547f981199c07348837b0629d5d即可,注意code的值每次都是不一样的。

步骤三:在你要点击登录的地方调以下代码(注意这里的redirectURI写你自己的回调页)

  WBAuthorizeRequest *request = [WBAuthorizeRequest request];
        request.redirectURI = @"你的授权回调页网址";
        request.scope = @"all";

        [WeiboSDK sendRequest:request];

步骤四:在appdelegate引入头文件,遵循代理WeiboSDKDelegate

#import "WeiboSDK.h"


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {


    [WeiboSDK enableDebugMode:YES];
    [WeiboSDK registerApp:kAppKey];

    return YES;
}

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {

    return [WeiboSDK handleOpenURL:url delegate:self];
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    return [WeiboSDK handleOpenURL:url delegate:self];
}


/**
 收到一个来自微博客户端程序的请求

 收到微博的请求后,第三方应用应该按照请求类型进行处理,处理完后必须通过 [WeiboSDK sendResponse:] 将结果回传给微博
 @param request 具体的请求对象
 */
- (void)didReceiveWeiboRequest:(WBBaseRequest *)request {
    WBProvideMessageForWeiboResponse *response = [WBProvideMessageForWeiboResponse responseWithMessage:[self messageToShare]];
    [WeiboSDK sendResponse:response];
    NSLog(@"收到一个来自微博客户端程序的请求");

}

/**
 收到一个来自微博客户端程序的响应

 收到微博的响应后,第三方应用可以通过响应类型、响应的数据和 WBBaseResponse.userInfo 中的数据完成自己的功能
 @param response 具体的响应对象
 */
- (void)didReceiveWeiboResponse:(WBBaseResponse *)response {
    NSLog(@"收到一个来自微博客户端程序的响应");
    // 这里response就是返回来的数据,包含token,uid等键值对;
    NSLog(@"%@",response.userInfo);


    NSString *theString = [NSString stringWithFormat:@"https://api.weibo.com/2/users/show.json?access_token=%@&uid=%@",response.userInfo[@"access_token"],response.userInfo[@"uid"]];
    // 这里只是通过URL对数据进行请求,可以用系统的也可用AFNetworking,下面我使用对AFNetworking的简单封装过后的方法,请忽略
    [NetWork netWorkWithPath:theString Params:[NSDictionary dictionary] CallBack:^(NSDictionary *info, NetType type) {
     // 这里info就包含请求回来的用户头像等数据
        NSLog(@"%@",info);

    }];

}

- (WBMessageObject *)messageToShare {

    WBMessageObject *message = [WBMessageObject message];
    message.text = @"测试使用";
    return message;
}
!!!!如果输入账号后登录返回一个403错误,是因为项目还没有审核通过,或者没有添加测试账号,请至应用信息-测试信息 中添加测试账号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值