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

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

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

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

  如图所示:

Android应用开发教程之十七:新浪微博XAuth方式授权与发送

  最近有朋友说他申请的KEY无法使用 原因是XAuth申请KEY是需求的 ,因为我的KEY是用公司提供的所以已经满足XAuth的申请条件所以可以使用。请大家仔细看看下面官方提供的内容。

  申请的条件:http://open.weibo.com/wiki/XAuth

  xAuth申请需求

  因为xAuth依然会获得用户明文密码,xAuth实行有限开放。开发初期建议使用桌面客户端使用OAuth,移动客户端使用WAP 1.0或者2.0版页面授权。当用户数量达到一定规模后再使用xAuth提升用户体验。

  xAuth申请条件:

  应用分类属于桌面客户端、手机客户端。

  应用本身已经通过开放平台文案、广场审核,并在广场上展示超过15天。

  应用使用人数在3000以上。

  应用本身功能与新浪微博关联紧密。

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

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

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

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

Java代码
  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;    

  帐号密码授权只需要一次

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

  发表成功

Android应用开发教程之十七:新浪微博XAuth方式授权与发送

  储存Token 与 TokenSecret

Java代码
  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) {  
  8. }  

  读取Token 与 TokenSecret

  读取到之前授权的KEY

Java代码
  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

本文发布:Android开发网
本文地址:http://www.jizhuomi.com/android/course/599.html
2016年7月29日
发布:鸡啄米 分类:Android开发教程 浏览: 评论:0