cocos2d-x之新浪微博平台接入接口
2013-02-22 16:02
351 查看
分类:
IOS开发
C/C++/汇编
Cocos2d-X 2013-02-22 16:02
2758人阅读 评论(5)
收藏
举报
目录(?)[+]
简介
本文档主要介绍接入新浪平台的一些内容,便于查阅和使用。第一步:认证准备
新浪微博的SDK放在github上面,下载地址:https://github.com/mobileresearch/weibo_ios_sdk_sso-oauth,也可直接在控制台中输入gitclonehttps://github.com/mobileresearch/weibo_ios_sdk_sso-oauth.git将代码下载下来。将sinaweibo_ios_sdk这个目录添加到工程中,这样可以在代码中使用新浪微博API了。
微博SDK不像facebookSDK那样需要在Info.plist里面设置数据,新浪微博的认证都是通过代码完成的。
认证代码如下:
[cpp]
view plaincopy
bool SinaProxy::init(const char * appKey_, const char * appSecret_, const char * redirectUri_)
{
NSString * appKey = [NSString stringWithUTF8String:appKey_];
NSString * appSecret = [NSString stringWithUTF8String:appSecret_];
NSString * redirectUri = [NSString stringWithUTF8String:redirectUri_];
g_sinaDelegate = [SinaDelegate alloc];
g_sinaWeibo = [[SinaWeibo alloc] initWithAppKey:appKey appSecret:appSecret appRedirectURI:redirectUri andDelegate:g_sinaDelegate];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSDictionary *sinaweiboInfo = [defaults objectForKey:@"SinaWeiboAuthData"];
if ([sinaweiboInfo objectForKey:@"AccessTokenKey"] && [sinaweiboInfo objectForKey:@"ExpirationDateKey"]
&& [sinaweiboInfo objectForKey:@"UserIDKey"]){
g_sinaWeibo.accessToken = [sinaweiboInfo objectForKey:@"AccessTokenKey"];
g_sinaWeibo.expirationDate = [sinaweiboInfo objectForKey:@"ExpirationDateKey"];
g_sinaWeibo.userID = [sinaweiboInfo objectForKey:@"UserIDKey"];
}
return true;
}
void SinaProxy::login()
{
[g_sinaWeibo logIn];
}
函数参数为应用的appkey、appsecret以及同样重要的redirecturi,redirecturi的设置详见微博SDK文档。
在初始化完成之后,调用SDK的logIn函数便会弹出官方登陆页面,注意这里设置了一个回调,以接收平台返回的信息,另外这里面加入了一个保存用户session的功能,便于下次自动登陆。
如果回调函数sinaweiboDidLogIn被调用,则表面登陆成功,可以调用微博的接口了。
第二步:获取用户信息
最重要的是第一步,后面的只是调用平台提供的接口得到结果而已。获取用户信息的接口如下:
[cpp]
view plaincopy
void SinaProxy::loadUserInfo(PlatformUserInfo & info)
{
// post status
[g_sinaWeibo requestWithURL:@"users/show.json"
params:[NSMutableDictionary dictionaryWithObject:g_sinaWeibo.userID forKey:@"uid"]
httpMethod:@"GET"
delegate:g_sinaDelegate];
}
回调部分代码如下:
if ([request.urlhasSuffix:@"users/show.json"]){
long uid = [result
objectForKey:@"id"];
NSString * sname =[resultobjectForKey:@"screen_name"];
}
第三步:获取好友信息
接口如下:[cpp]
view plaincopy
void SinaProxy::loadFriends(std::vector<PlatformUserInfo*> & friends)
{
[g_sinaWeibo requestWithURL:@"friendships/groups.json"
params:[NSMutableDictionary dictionaryWithObject:g_sinaWeibo.userID forKey:@"uid"]
httpMethod:@"GET"
delegate:g_sinaDelegate];
}
注意该接口需要高级权限,需要先申请通过才能获取数据。
第四步:分享信息
部分代码如下:[cpp]
view plaincopy
[sinaweibo requestWithURL:@"statuses/upload.json"
params:[NSMutableDictionary dictionaryWithObjectsAndKeys:
@"要发布的微博文本内容,必须做URLencode,内容不超过140个汉字http://x-work.org", @"status",
//@"hello world", @"status",
[UIImage imageNamed:@"Icon.png"], @"pic", nil]
httpMethod:@"POST"
delegate:self];
分享采用upload这个接口基本够用了,而且不用申请高级权限,适合大部分情况。另外还有一个接口,upload_url_text,该接口主要是图片地址一个网址,抓取该图片然后分享,需要申请高级权限。
相关文章推荐
- cocos2d-x之新浪微博平台接入接口
- cocos2d-x之新浪微博平台接入接口
- 新浪微博开放平台接入
- cocos2d-x之Facebook平台接入接口
- 新浪微博客户端源代码-新浪微博OAuth2.0接口
- 新浪微博开放平台和腾讯开放平台初体验
- 新浪将于年内推出即时通讯手机微博平台
- PHP+新浪微博开放平台+新浪云平台(SAE)开发微博应用——PHP SDK中Demo程序简析
- 新浪微博开放平台站内应用开发流程直播(二)
- air 新浪开放平台 登录部分接口案例
- Cocos2d-x3.3RC0实现有米广告平台接入
- 新浪微博开放平台API for .Net SDK---很不错,赞一个
- PHP+新浪微博开放平台+新浪云平台(SAE)开发微博应用——PHP SDK中Demo程序简析
- cocos2d-x 移动MM平台SDK接入
- 实现了新浪、腾讯、网易、搜狐四大微博的统一OAuth认证、调用接口。
- 新浪微博开放平台站内应用开发流程直播(二)
- PHP+新浪微博开放平台+新浪云平台(SAE)开发微博应用——进一步学习的走向和有用的资源
- 新浪微博开放平台——话题跟踪
- PHP+新浪微博开放平台+新浪云平台(SAE)开发微博应用
- 新浪微博Python客户端接口OAuth2