最近放假没事,就想着学一学新浪微博的API调用。查看了一下资料,大多是前几年的资料,和现在的情况已经不尽相同。于是特意写下笔记,记录一下简单的入门教程,希望能给同样有兴趣的人一些参考。

1.申请应用

进入http://open.weibo.com/进行应用的创建,或者从个人主页底端的开放平台进入,如下图所示:

Java微博练习题 微博java开发_java

进入开放平台之后,点击微连接选择自己要开发的应用,本例中选择客户端,如下图所示:

Java微博练习题 微博java开发_API_02


开始填写应用的资料,填写应用名称、应用分类和应用平台,创建

Java微博练习题 微博java开发_Java微博练习题_03

创建成功之后,就进入开发阶段,这时就可以看到App Key和App Secret,记下这两条信息,将来还会用到:

Java微博练习题 微博java开发_api_04

在应用信息中的高级信息中,填写回调页地址,这个回调页将会在授权中用到:

Java微博练习题 微博java开发_新浪微博_05


2.身份认证


在http://open.weibo.com/wiki/SDK下载开发相应的SDK,JAVA SDK项目发布在github上

(https://github.com/sunxiaowei2014/weibo4j-oauth2-beta3.1.1/),下载到自己电脑上:


Java微博练习题 微博java开发_API_06




解压之后,将项目weibo4j-oauth2导入eclipse。


修改config.property文件,将client_ID填写App Key,client_SERCRT填写App Secret,redirect_URI填写之前的授权回调页


Java微博练习题 微博java开发_新浪微博_07

运行example下oauth2下的OAuth4Code.java,如下图所示:

Java微博练习题 微博java开发_api_08


会跳出应用授权页面,如果在浏览器已经保存了用户名和密码就可以直接登录,否则会要求填写用户名密码:


Java微博练习题 微博java开发_API_09




同意授权之后,会跳转到回调页上,注意此时的地址栏,记下code=之后的内容


Java微博练习题 微博java开发_新浪微博_10


将此内容填写在eclipse里,回车之后会出现属于你的access_token和uid,这两个参数很重要,API的调用之中都会用到。


Java微博练习题 微博java开发_Java微博练习题_11




3.API调用

example里面提供了大量的例子,API文档里http://open.weibo.com/wiki/%E5%BE%AE%E5%8D%9AAPI对各API也提供了解释,名字基本和项目里可以对上。

下面进行一个发布微博的例子,这个类位于weibo4j-oauth2\examples\weibo4j\examples\timeline\UpdateStatus.java,将access_token和statuses改成自己的access_token和要发布的博文,运行之后就可以成功发布了。

Java微博练习题 微博java开发_api_12

一些比较常用的类:

weibo4j.examples.timeline.UpdateStatus用于发布微博

weibo4j.examples.timeline.Destroy 给定id删除微博

weibo4j.examples.timeline.GetUserTimeline 用于获取用户微博

weibo4j.examples.timeline.ShowStatus 给定id获取用户微博

weibo4j.examples.user.ShowUser 给定uid获取用户信息

weibo4j.examples.user. UserCount 给定uid获取用户关注、粉丝、微博数量

返回结果是json格式,可以参看示例代码或API文档进行字段的提取。

由于权限限制,返回的结果并不多,比如公共微博只能返回20条,自己的微博只能返回5条。至于如何获得更多的微博,笔者还没有研究清楚。 笔者自己写了一个很简陋很简陋的图形界面,可以实现查看微博、发布微博和删除微博的功能。因为水平有限,只是一个示意,做抛砖引玉只用。

Java微博练习题 微博java开发_api_13