Java新浪微博客戶端開(kāi)發(fā)第一步
Java新浪微博客戶端開(kāi)發(fā)***步
一、獲得開(kāi)發(fā)應(yīng)用所需的“通行證”App Key和App Secret
首先必須要有新浪的賬號(hào)。再打開(kāi)http://open.weibo.com/登錄你的賬號(hào)。
點(diǎn)擊“我是開(kāi)發(fā)者”:
點(diǎn)擊“創(chuàng)建應(yīng)用”:
點(diǎn)擊“客戶端”:
這時(shí),會(huì)彈出一個(gè)填寫(xiě)開(kāi)發(fā)者信息的頁(yè)面:
填寫(xiě)完再驗(yàn)證完郵箱,來(lái)到創(chuàng)建應(yīng)用的頁(yè)面:
點(diǎn)擊“應(yīng)用信息”下的“基本信息”,找到AppKey和AppSecret。(等下要在config.properties中使用到。)
設(shè)置回調(diào)地址(等下要在config.properties中使用到。),可以隨便設(shè)置,我這里設(shè)置為“百度”:
二、下載SDK
接著:到http://open.weibo.com/wiki/SDK下再所需的SDK,這里是以Java為例:
可以直接到http://code.google.com/p/weibo4j/中下載到所需的JavaSDK。
將SDK導(dǎo)入到你所建立的,要進(jìn)行開(kāi)發(fā)客戶端的Java項(xiàng)目中,點(diǎn)擊文件“config.properties”如下:
在其中填寫(xiě):
三、獲取當(dāng)前用戶信息及發(fā)布一條微博的簡(jiǎn)單示例:
在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);
- // 獲取當(dāng)前用戶的信息
- System.out.println("當(dāng)前用戶的名字:" + user.getName());
- System.out.println("當(dāng)前用戶所發(fā)的微博數(shù):" + user.getStatusesCount());
- System.out.println("當(dāng)前用戶關(guān)注數(shù):" + user.getFriendsCount());
- System.out.println("當(dāng)前用戶粉絲數(shù):" + user.getFollowersCount());
- } catch (WeiboException e) {
- e.printStackTrace();
- }
- // 測(cè)試發(fā)送微博
- Timeline tm = new Timeline();
- System.out.print("請(qǐng)輸入所要發(fā)的微博的文本內(nèi)容:[Enter]:");
- br = new BufferedReader(new InputStreamReader(System.in));
- String newStatus = br.readLine();
- tm.UpdateStatus(newStatus);
- }
- }
點(diǎn)擊運(yùn)行,這是會(huì)彈開(kāi)一個(gè)頁(yè)面進(jìn)行用戶授權(quán)(PS:最開(kāi)始很多人可能會(huì)以為這里的用戶授權(quán)是指你的應(yīng)用給用戶授權(quán),其實(shí)不然,這里是用戶給你的應(yīng)用授權(quán),以允許你的應(yīng)用獲取該用戶的信息)
注意:這里使用的新浪賬號(hào)必須當(dāng)前應(yīng)用的賬號(hào)或者你的應(yīng)用的“測(cè)試用戶”,每個(gè)未通過(guò)應(yīng)用審核的應(yīng)用可以有15位測(cè)試用戶。可以在應(yīng)用信息中的“高級(jí)信息”中添加“測(cè)試用戶”。
輸入完賬號(hào)密碼,點(diǎn)擊授權(quán),注意了,這時(shí)會(huì)跳轉(zhuǎn)到百度首頁(yè)(注意地址欄):
看到地址欄上code=的東西,這正是我們所需要的,復(fù)制它,在eclipse控制臺(tái)上黏貼,并按下Enter鍵,就可到看到當(dāng)前用戶的一些基本信息。
其它更詳細(xì)的數(shù)據(jù)的獲取方法可以參看新浪開(kāi)發(fā)平臺(tái)提供的API文檔:http://open.weibo.com/wiki/API%E6%96%87%E6%A1%A3_V2。
***在控制臺(tái)輸入你所要發(fā)步的微博文本測(cè)試下發(fā)送新的微博(主要的代碼如下,已經(jīng)存在于上面的OAuth4Code 類中):
- Timeline tm = new Timeline();
- System.out.print("請(qǐng)輸入所要發(fā)的微博的文本內(nèi)容:[Enter]:");
- br = new BufferedReader(new InputStreamReader(System.in));
- String newStatus= br.readLine();
- tm.UpdateStatus(newStatus);
記得要輸入完后按下Enter鍵,***可以在自己的微博首頁(yè)里看到:
原文鏈接:http://binary.duapp.com/?p=69
【編輯推薦】