weiboclient4j - 新浪微博的Java客戶端

openkk 12年前發布 | 69K 次閱讀 微博 微博工具/系統

為什么需要另外一個Java版本的微博客戶端?

新浪微博官方推薦的Java客戶端 weibo4j 一直沒有發布到maven倉庫,而我們是重度maven用戶,因而重新發明了這個新的輪子。

通過maven引用weiboclient4j

在項目pom.xml里面加入依賴:

<dependency>
  <groupId>com.github.hoverruan</groupId>
  <artifactId>weiboclient4j</artifactId>
  <version>0.2.6</version>
  <scope>runtime</scope>
</dependency>

使用

Weiboclient4j支持新浪微博API V1和V2(未完成),目前推薦使用V2版本的接口:

// 使用你的應用的api key和secret
String apiKey = "xxxxxxx";
String apiSecret = "xxxxxxxx";

WeiboClient2 client = new WeiboClient2(apiKey, apiSecret);</code></pre>

OAuth2例子:

String authorizationCallback = "..."; // 你的Callback地址
String state = "...";
String url = client.getAuthorizationUrl(ResponseType.Code, DisplayType.Default, state, authorizationCallback);

// 瀏覽器重定向到url; 用戶授權; 然后返回callback地址 String code = ... // 從新浪的回調請求里面獲得code String accessTokenCallback = "..."; // 或者Access Token的Callback地址 SinaWeibo2AccessToken accessToken = client.getAccessToken(GrantType.AuthorizationCode, code, state, accessTokenCallback);

System.out.println("Access token: " + accessToken.getToken()); System.out.println("User Uid: " + accessToken.getUid()); System.out.println("Expires in: " + accessToken.getExpiresIn()); System.out.println("Remind in: " + accessToken.getRemindIn());</code></pre>

獲取用戶Timeline例子:

client.setAccessToken(new SinaWeibo2AccessToken("..."));
Timeline friendsTimeline = client.getFriendsTimeline();

更多的使用例子可以參考 weiboclient4j.examples.OAuth2CommandLine

API參數對象化

WeiboClient2里面,大部分的方法都沒有Javadoc,取而代之的是大部分的參數都是特定的對象,這樣做的原因是因為:

sesese色