Android 新浪微博XAuth方式授权与发送

新浪微博授权与发送

 开发新浪微博 首先须要使用官方提供的API接口weibo4android.jar

 下载地址:http://download.csdn.net/source/3399114

 官方下载地址:http://code.google.com/p/weibo4j/downloads/list

 

 

首先须要在项目中引入新浪微博官方的API jar包

 如图所示





任何一个开发者都需要申请新浪微博的ConsumerKey 和 ConsumerSecret

申请地址:http://open.weibo.com/devel.php

点击创建应用根据提示一步一步来 这里笔者就不详细说明了



下面是代码部分请认真阅读

  1. //consumerKey 与 consumerSecret 须要自己去官方申请   
  2. System.setProperty("weibo4j.oauth.consumerKey","XXXX");   
  3. System.setProperty("weibo4j.oauth.consumerSecret","XXXX");  
  4. Weibo weibo = new Weibo();  
  5. String userId = "XXXX";  
  6. //新浪微博的帐号  
  7. String passWord = "XXXX";  
  8. //新浪微博的密码  
  9. try {  
  10.     weibo.getXAuthAccessToken(userId, passWord,"client_auth");  
  11.     weibo.updateStatus("发表一条新浪微博");}   
  12.     catch (WeiboException e) {  
  13.        e.printStackTrace();  
  14.       if(e.getStatusCode() == 400) {  
  15.       //内容重复,新浪微博不允许重复的内容发布 如果内容重复会在这里抛出异常  
  16.       }else if (e.getStatusCode() == 403) {  
  17.       //帐号密码错误  
  18.       }    
  19.       return;  
  20.     }  


 帐号密码授权只需要一次

大功告成 这样就授权成功并且发送了一条微薄 不过这样还不是完美 因为如果每次都用同样的帐号发送微薄的话 没有必要每次都授权 授权成功一次后 就可以把Token 与 TokenSecret 存下来 以后在发送微薄只须要把Token 与 TokenSecret 读出来就可以直接发。


发表成功




储存Token 与 TokenSecret

通过帐号密码只需要授权一次

  1. try {  
  2.     AccessToken accessToken = weibo.getXAuthAccessToke(userId,passWord,"client_auth");  
  3.     String Token = accessToken.getToken();  
  4.     String TokenSecret = accessToken.getTokenSecret();  
  5.     //在这里拿到了 Token 与 TokenSecret 可以把它存在Shared Preferences 中以后每次独取出来就可以用  
  6.     weibo.updateStatus("将Token 与 TokenSecret 存入 Shared Preferences ");  
  7.     } catch (WeiboException e) {}  




读取Token 与 TokenSecret

读取到之前授权的KEY

  1. try {  
  2.     //Token与TokenSecret 可以在Shared Preferences 中取得之前存的内容  
  3.     String Token = null;  
  4.     String TokenSecret = null;  
  5.     weibo.setOAuthAccessToken(Token, TokenSecret);  
  6.     //这样就不用每次都通过帐号密码获取      
  7.     AccessToken了weibo.updateStatus("在Shared Preferences 中取得Token与TokenSecret");  
  8.     } catch (WeiboException e) {}  


 微薄的异常类WeiboException

我们使用API接口 出现的异常WeiboException会帮我们捕获下来比如

帐号密码错误:e.getStatusCode() = 403

重复发送微薄:e.getStatusCode() = 400

等等,代码实现的话我们可以在底层把这些异常throws 到上层,在上面去处理这些异常

下面这个链接是新浪官方提供的API错误代码 大家可以根据须要仔细阅读

http://open.weibo.com/wiki/index.php/Help/error
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值