Java新浪微博客戶端開發(fā)第一步
Java新浪微博客戶端開發(fā)***步
一、獲得開發(fā)應用所需的“通行證”App Key和App Secret
首先必須要有新浪的賬號。再打開http://open.weibo.com/登錄你的賬號。
點擊“我是開發(fā)者”:
點擊“創(chuàng)建應用”:
點擊“客戶端”:
這時,會彈出一個填寫開發(fā)者信息的頁面:
填寫完再驗證完郵箱,來到創(chuàng)建應用的頁面:
點擊“應用信息”下的“基本信息”,找到AppKey和AppSecret。(等下要在config.properties中使用到。)
設置回調地址(等下要在config.properties中使用到。),可以隨便設置,我這里設置為“百度”:
二、下載SDK
接著:到http://open.weibo.com/wiki/SDK下再所需的SDK,這里是以Java為例:
可以直接到http://code.google.com/p/weibo4j/中下載到所需的JavaSDK。
將SDK導入到你所建立的,要進行開發(fā)客戶端的Java項目中,點擊文件“config.properties”如下:
在其中填寫:
三、獲取當前用戶信息及發(fā)布一條微博的簡單示例:
在AccessToken中添加方法:
- public String getUid() {
- return uid;
- }
***修改OAuth4Code代碼如下:
- package weibo4j.examples.oauth2;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import weibo4j.Oauth;
- import weibo4j.Timeline;
- import weibo4j.Users;
- import weibo4j.Weibo;
- import weibo4j.http.AccessToken;
- import weibo4j.model.User;
- import weibo4j.model.WeiboException;
- import weibo4j.util.BareBonesBrowserLaunch;
- public class OAuth4Code {
- public static void main(String[] args) throws WeiboException, IOException {
- Oauth oauth = new Oauth();
- BareBonesBrowserLaunch.openURL(oauth.authorize("code"));
- System.out.println(oauth.authorize("code"));
- System.out.print("Hitenter when it's done.[Enter]:");
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- String code = br.readLine();
- Log.logInfo("code:" + code);
- AccessToken accessToken = null;
- try {
- accessToken = oauth.getAccessTokenByCode(code);
- } catch (WeiboException e) {
- if (401 == e.getStatusCode()) {
- Log.logInfo("Unableto get the access token.");
- } else {
- e.printStackTrace();
- }
- }
- String access_token = accessToken.getAccessToken();
- Weibo weibo = new Weibo();
- weibo.setToken(access_token);
- String uid = accessToken.getUid();
- Users um = new Users();
- try {
- User user = um.showUserById(uid);
- // 獲取當前用戶的信息
- System.out.println("當前用戶的名字:" + user.getName());
- System.out.println("當前用戶所發(fā)的微博數(shù):" + user.getStatusesCount());
- System.out.println("當前用戶關注數(shù):" + user.getFriendsCount());
- System.out.println("當前用戶粉絲數(shù):" + user.getFollowersCount());
- } catch (WeiboException e) {
- e.printStackTrace();
- }
- // 測試發(fā)送微博
- Timeline tm = new Timeline();
- System.out.print("請輸入所要發(fā)的微博的文本內容:[Enter]:");
- br = new BufferedReader(new InputStreamReader(System.in));
- String newStatus = br.readLine();
- tm.UpdateStatus(newStatus);
- }
- }
點擊運行,這是會彈開一個頁面進行用戶授權(PS:最開始很多人可能會以為這里的用戶授權是指你的應用給用戶授權,其實不然,這里是用戶給你的應用授權,以允許你的應用獲取該用戶的信息)
注意:這里使用的新浪賬號必須當前應用的賬號或者你的應用的“測試用戶”,每個未通過應用審核的應用可以有15位測試用戶。可以在應用信息中的“高級信息”中添加“測試用戶”。
輸入完賬號密碼,點擊授權,注意了,這時會跳轉到百度首頁(注意地址欄):
看到地址欄上code=的東西,這正是我們所需要的,復制它,在eclipse控制臺上黏貼,并按下Enter鍵,就可到看到當前用戶的一些基本信息。
其它更詳細的數(shù)據的獲取方法可以參看新浪開發(fā)平臺提供的API文檔:http://open.weibo.com/wiki/API%E6%96%87%E6%A1%A3_V2。
***在控制臺輸入你所要發(fā)步的微博文本測試下發(fā)送新的微博(主要的代碼如下,已經存在于上面的OAuth4Code 類中):
- Timeline tm = new Timeline();
- System.out.print("請輸入所要發(fā)的微博的文本內容:[Enter]:");
- br = new BufferedReader(new InputStreamReader(System.in));
- String newStatus= br.readLine();
- tm.UpdateStatus(newStatus);
記得要輸入完后按下Enter鍵,***可以在自己的微博首頁里看到:
原文鏈接:http://binary.duapp.com/?p=69
【編輯推薦】