腾讯微博分享 SDK开发流程

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

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

3 在需要分享的地方,先通过app key以及app secret获取令牌号token key 以及 token Secret
  将获取的令牌信息保存到程序中

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 



以上就是开发流程,希望能和大家一起交流开发过程中的问题。。。花了两天的时间,终于搞定新浪和腾讯的分享问题。

你可能感兴趣的:(腾讯微博分享 SDK开发流程)