腾讯微博分享 SDK开发流程

文/社区会员poka_xk 1 将下载好的sdk包添加到程序中 2 在程序中设置好你的app key以及app secret 3 在需要分享的地方,先通过app key以及app secret获取令牌号token key 以及token Secret 将获取的令牌

文/社区会员poka_xk

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 

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

 

社区原帖:http://www.cocoachina.com/bbs/read.php?tid=114301

    • 0
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值