weiboclient4j - 新浪微博的Java客戶端
為什么需要另外一個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,取而代之的是大部分的參數都是特定的對象,這樣做的原因是因為:
Friendship friendship;
friendship = client.getFriendship(new SourceUid(12345), new TargetUid(67890));
// 或者
friendship = client.getFriendship(new SourceScreenName("xxx"), new TargetScreenName("yyy"));</code></pre>
分頁對象 Paging
分頁相關的參數,全部通過 Paging
對象封裝:
Paging paging = Paging.create()
.sinceId(12345)
.count(25);
Timeline timeline = client.getFriendsTimeline(paging, BaseApp.No, Feature.All); // 后兩個參數可省略</code></pre>
新浪微博API V2支持情況
API文檔 V2
微博接口 |
完成 |
</tr>
評論接口 |
完成 |
</tr>
用戶接口 |
完成 |
</tr>
關系接口 |
完成 |
</tr>
帳號接口 |
完成 |
</tr>
收藏接口 |
完成 |
</tr>
話題接口 |
完成 |
</tr>
標簽接口 |
完成 |
</tr>
注冊接口 |
完成 |
</tr>
搜索接口 |
完成 |
</tr>
推薦接口 |
施工中 |
</tr>
提醒接口 |
完成 |
</tr>
短鏈接口 |
完成 |
</tr>
公共服務接口 |
|
</tr>
地理信息接口 |
|
</tr>
</tbody>
</table>
項目主頁:http://www.baiduhome.net/lib/view/home/1345189057756
本文由用戶
openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!
sesese色