Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android應用開發教程之十七:新浪微博XAuth方式授權與發送

Android應用開發教程之十七:新浪微博XAuth方式授權與發送

編輯:關於android開發

  開發新浪微博 首先須要使用官方提供的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

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved