当前位置:  软件>java软件

微博客户端API weiboclient4j

    来源:    发布时间:2014-12-18

    本文导语:  为什么需要另外一个Java版本的微博客户端? 新浪微博官方推荐的Java客户端 weibo4j 一直没有发布到maven仓库,而我们是重度maven用户,因而重新发明了这个新的轮子。 通过maven引用weiboclient4j 在项目pom.xml里面加入依赖:  com....

为什么需要另外一个Java版本的微博客户端?

新浪微博官方推荐的Java客户端 weibo4j 一直没有发布到maven仓库,而我们是重度maven用户,因而重新发明了这个新的轮子。

通过maven引用weiboclient4j

在项目pom.xml里面加入依赖:

 com.github.hoverruan weiboclient4j 0.4.13
使用

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

// 使用你的应用的api key和secret String apiKey = "xxxxxxx"; 
String apiSecret = "xxxxxxxx"; 
WeiboClient client = new WeiboClient(apiKey, apiSecret);

OAuth2例子:

String authorizationCallback = "..."; // 你的Callback地址 
String state = "..."; 
String url = client.getAuthorizationUrl(/tech-soft-java/ResponseType.Code, DisplayType.Default, state, authorizationCallback); // 浏览器重定向到url; 用户授权; 然后返回callback地址 
String code = ... // 从新浪的回调请求里面获得code String accessTokenCallback = "..."; // 或者Access Token的Callback地址 
SinaWeibo2AccessToken accessToken = client.getAccessTokenByCode(code, 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());

获取用户Timeline例子:

StatusService service = client.getStatusService(); 
Timeline friendsTimeline = service.getFriendsTimeline();

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

API参数对象化

WeiboClient里面,大部分的方法都没有Javadoc,取而代之的是大部分的参数都是特定的对象,这样做的原因是因为:

  • 写Javadoc太麻烦

  • 一些API的参数较多,如果使用基本类型容易混淆各个参数的含义

  • IDE对已知类型的对象、Enum能提供更友好的提醒和自动完成

所有的参数对象在 package weiboclient4j.params 下面;举一个例子:

使用静态引入 CoreParameters.*:

import static weiboclient4j.params.CoreParameters.*; 
FriendshipService service = client.getFriendshipService(); 
Friendship friendship; 
friendship = service.getFriendship(sourceUid(12345), targetUid(67890)); 
// 或者 
friendship = service.getFriendship(sourceScreenName("xxx"), targetScreenName("yyy"));

使用 P:

import weiboclient4j.params.P; 
FriendshipService service = client.getFriendshipService(); 
Friendship friendship; 
friendship = service.getFriendship(P.sourceUid(12345), P.targetUid(67890)); 
// 或者 
friendship = service.getFriendship(P.sourceScreenName("xxx"), P.targetScreenName("yyy"));
分页对象 Paging

分页相关的参数,全部通过 Paging 对象封装:

Paging paging = Paging.create() .sinceId(12345) .count(25); 
Timeline timeline = service.getFriendsTimeline(paging, BaseApp.No, Feature.All); // 后两个参数可省略
新浪微博API V2支持情况

API文档 V2

微博接口 StatusService 完成 评论接口 CommentService 完成 用户接口 UserService 完成 关系接口 FriendshipService 完成 帐号接口 AccountService 完成 收藏接口 FavoriteService 完成 话题接口 TrendService 完成 标签接口 TagService 完成 注册接口 RegisterService 完成 搜索接口 SearchService 完成 推荐接口 SuggestionService 完成 提醒接口 RemindService 完成 短链接口 ShortUrlService 完成 通知接口 NotificationService 完成 公共服务接口 CommonService 完成 位置服务接口 PlaceService 完成 地理信息接口 LocationService 开发中



    
 
 

您可能感兴趣的文章:

  • java命名空间javax.print类docflavor的类成员方法:客户端格式化打印数据定义及介绍
  • 客户端程序与容器打交道时客户端用什么程序编写?比如银行添单。
  • php实现socket实现客户端和服务端数据通信源代码
  • 在Linux下开发手机客户端或Pc客户端交互的服务器,需要学哪些知识?
  • windows 7下打开或者关闭telnet客户端/服务端命令方法操作步骤
  • linux端是服务器,客户端连接后,有时并不知道客户端断开,怎么侦测?
  • andriod下java socket网络编程:java socket客户端服务端代码示例
  • 已和客户端连接建立的socket在客户端CTRL-C后怎么在服务器端捕捉这个错误?
  • Linux c socket编程:简单的客户端(client)和服务端(server)实现
  • 对于用客户端上网的用户(客户端不支持linux)如何在linux下上网?
  • 请问:我发现send函数会使客户端退出, 这怎么办啊,怎样让它不使客户端退出啊,这样我就能重新连上了啊?
  • 客户端访问的时候,怎么样取得客户的IP地址?
  • linux 能ping通客户端ip,但ping不通客户端的域名。
  • socket编程,服务器会用bind()绑定端口,而客户端不用绑定端口就可以调用connect()。那么客户端的端口时系统自己分配的么?是何时绑定的?
  • 服务器端关闭,客户端select 会一直可读, 读的长度是-1,怎么在不关闭客户端socket下,清除可读
  • 关于B/S结构的客户端打印的问题,求教各位 各位大虾,我用servlet和jsp作了一套b/s的系统,现在客户端需要打印,怎样才能实现?帮帮忙啊,小弟再此先谢过了!
  • 求救:j2ee的构架下,可以作为一个客户端不断的往一用vc做的应用程序客户端发数据吗?
  • 请问tcp 客户服务器模型(C/S模型)客户端两个send如果发送间隔太短,服务器端为什么会认为受到的只是一个包
  • socket编程中客户端绑定端口的问题,请兄弟们指点一下
  • jsp如何实现往客户端写数据文件
  • 可以在客户端存储文件吗?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • IMAP 邮件客户端 Trojitá
  • 点对点文件分享客户端 PeerProject
  • 远程的 Shell 客户端 Rlogin
  • iis7站长之家
  • XMPP 客户端 Profanity
  • 即时聊天客户端软件 kopote
  • Jabber/XMPP 客户端 jj
  • POP3客户端库 libspopc
  • IRC聊天客户端 Quassel
  • MUD客户端 TinTin++
  • 网络电视客户端 GMLive
  • 远程桌面客户端 rdesktop
  • 基于Web的FTP客户端 OurWebFTP
  • 基于Web的Jabber™客户端 JWChat
  • Applet 是在服务器端执行还是在客户端执行??
  • 客户端——服务端数据传送的几个困惑!
  • Linux 代理 一个客户端来就创建一个连接
  • fedora 校园客户端认证问题
  • 高性能 HBase 客户端 Asynchronous HBase
  • Java的CVS客户端 Gruntspud


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3