使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台授权回调页的代码)

优采云 发布时间: 2022-02-12 18:19

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台授权回调页的代码)

  第 1 步:添加应用程序

  进入新浪微博开放平台(如果没有,自行注册),进入“管理中心”,点击“创建应用”,选择“微链接应用”,然后点击“创建应用”,选择“手机申请”,并填写相应信息,如果没有申请地址,选择平台提交即可。请记住保存您的 App Key 和 App Secret 以备后用。

  第二步:Oauth2.0 授权设置

  应用创建后,可以在“管理中心”-“我的应用”查看信息,“应用信息”-“高级信息”可以设置网站@的授权回调页面和取消授权回调页面>。用户授权成功后会回调授权回调页面,同时会返回一个“code”参数,开发者可以用code换取Access_Token值。当然,如果是手机应用,比如本文没有自己的授权回调页面,建议填写:或者类似的。如果授权后返回的表单如下:

  我们只需要得到代码a6146547f981199c07348837b0629d5d的值。请注意,代码的值每次都不同。

  第三步:在你要点击登录的地方调整如下代码(注意这里的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:kA*敏*感*词*ey];

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错误,是因为项目没有通过审核,或者没有添加测试账号,请到申请信息-测试信息添加测试账号

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线