您的位置:首页 > 其它

腾讯微博分享SDK开发流程

2013-02-25 15:21 169 查看
来自会员poka_xk的分享:

1.将下载好的sdk包添加到程序中



2.在程序中设置好你的app key以及app secret



3.在需要分享的地方,先通过app key以及app secret获取令牌号token key 以及token Secret

将获取的令牌信息保存到程序中

QWeiboSyncApi *api = [[[QWeiboSyncApi alloc] init] autorelease];

NSString *retString = [api getAccessTokenWithConsumerKey:appDelegate.appKey

consumerSecret:appDelegate.appSecret

requestTokenKey:appDelegate.tokenKey

requestTokenSecret:appDelegate.tokenSecret

verify:verifier];

NSLog(@"\nget access token:%@", retString);

//解析返回的令牌值

[appDelegate parseTokenKeyWithResponse:retString];


4.然后创建一个UIWebView,用于发送申请绑定的界面,通过令牌号,提示用户输入账号和密码进行绑定

#define VERIFY_URL @"http://open.t.qq.com/cgi-bin/authorize?oauth_token="

//创建webview

mWebView = [[UIWebView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 480.0f)];

mWebView.delegate = self;

[self.view addSubview:mWebView];

//加载url

NSString *url = [NSString stringWithFormat:@"%@%@", VERIFY_URL, appDelegate.tokenKey];

NSURL *requestUrl = [NSURL URLWithString:url];

NSURLRequest *request = [NSURLRequest requestWithURL:requestUrl];

[mWebView loadRequest:request];


5. 用户在绑定界面中的点击事件,可以用- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 这个函数还捕捉到。



6. 在上面的web处理函数中,,首先要判断里面的verifier是否为空,如果不为空,就需要通过QWeiboSyncApi类的getAccessTokenWithConsumerKey函数,获取令牌之.如果verfier为空,则可以通过网页的形式进行号码授权

//判断代码:

NSString *query = [[request URL] query];

NSString *verifier = [self valueForKey:@"oauth_verifier" ofQuery:query];
if (verifier && ![verifier isEqualToString:@""])

//重新获取令牌值并解析的代码

QWeiboSyncApi *api = [[[QWeiboSyncApi alloc] init] autorelease];

NSString *retString = [api getAccessTokenWithConsumerKey:appDelegate.appKey

consumerSecret:appDelegate.appSecret

requestTokenKey:appDelegate.tokenKey

requestTokenSecret:appDelegate.tokenSecret

verify:verifier];

NSLog(@"\nget access token:%@", retString);

//解析返回的令牌值

[appDelegate parseTokenKeyWithResponse:retString];


7.发送文字或者图片信息到微博中

//异步发送信息

QWeiboAsyncApi *api = [[[QWeiboAsyncApi alloc] init] autorelease];

self.connection = [api publishMsgWithConsumerKey:appDelegate.appKey

consumerSecret:appDelegate.appSecret

accessTokenKey:appDelegate.tokenKey

accessTokenSecret:appDelegate.tokenSecret

content:@"QQ I hate you as so fucking sdk!" //content就是需要发送的文字信息

imageFile:hasImage ? self.fileUrl : nil //fileUrl就是需要上传的图片的路径

resultType:RESULTTYPE_JSON //返回数据的格式,默认是json

delegate:self];
//从相册中选取到的相片,会通过转换函数,将相册中选中的数据直接放到本地的temp文件夹中,然后保存到本地,将fileUrl更新为当前的地址

//如果是使用网络图片,则直接将图片的路径添加到函数中


8.上面的url请求也是一个http的请求,所以可以通过http的委托函数捕捉到返回数据

- (void) connectionDidFinishLoading:(NSURLConnection *)connection
以上就是开发流程,希望能和大家一起交流开发过程中的问题...花了两天的时间,终于搞定新浪和腾讯的分享问题。
作者博客:blog:http://ningmengjiabing.blog.163.com/






原帖地址:http://www.cocoachina.com/bbs/read.php?tid=114301&keyword=%CC%DA%D1%B6%CE%A2%B2%A9
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: