最近放假没事,就想着学一学新浪微博的API调用。查看了一下资料,大多是前几年的资料,和现在的情况已经不尽相同。于是特意写下笔记,记录一下简单的入门教程,希望能给同样有兴趣的人一些参考。
1.申请应用
进入http://open.weibo.com/进行应用的创建,或者从个人主页底端的开放平台进入,如下图所示:
进入开放平台之后,点击微连接选择自己要开发的应用,本例中选择客户端,如下图所示:
开始填写应用的资料,填写应用名称、应用分类和应用平台,创建
创建成功之后,就进入开发阶段,这时就可以看到App Key和App Secret,记下这两条信息,将来还会用到:
在应用信息中的高级信息中,填写回调页地址,这个回调页将会在授权中用到:
2.身份认证
在http://open.weibo.com/wiki/SDK下载开发相应的SDK,JAVA SDK项目发布在github上
(https://github.com/sunxiaowei2014/weibo4j-oauth2-beta3.1.1/),下载到自己电脑上:
解压之后,将项目weibo4j-oauth2导入eclipse。
修改config.property文件,将client_ID填写App Key,client_SERCRT填写App Secret,redirect_URI填写之前的授权回调页
运行example下oauth2下的OAuth4Code.java,如下图所示:
会跳出应用授权页面,如果在浏览器已经保存了用户名和密码就可以直接登录,否则会要求填写用户名密码:
同意授权之后,会跳转到回调页上,注意此时的地址栏,记下code=之后的内容
将此内容填写在eclipse里,回车之后会出现属于你的access_token和uid,这两个参数很重要,API的调用之中都会用到。
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和要发布的博文,运行之后就可以成功发布了。
一些比较常用的类:
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条。至于如何获得更多的微博,笔者还没有研究清楚。
笔者自己写了一个很简陋很简陋的图形界面,可以实现查看微博、发布微博和删除微博的功能。因为水平有限,只是一个示意,做抛砖引玉只用。