新浪微博API使用方法

2012.7.4注:好多人反映按照日志中的方法做不能出结果,不知道是不是新浪微博的API变了,貌似日志中提到的方法和解决办法都不行了……这是我寒假时写的,可能有些过时了。建议看一下官方文档和开发者论坛,可能会有些帮助。

实验室的活儿要用新浪微博API,所以学习了一下,简单记录一下吧。

首先,你要有一个新浪微博账号。

然后,登陆http://wwv.renren.com/xn.do?ss=10791&rt=1,点击创建应用(如下图)

类型、名称等等各种信息随便填,创建好了之后,点击管理应用(如上图),就会出现你刚刚创建的应用,点击应用详情

然后点击上图中的应用信息,会看到App KeyApp Secret,这两个很重要,记下来。

接下来,你需要下载sdk,http://wwv.renren.com/xn.do?ss=10791&rt=1,选择你熟悉的编程语言吧,我选择了java版的,接下来的讲解也以java sdk为例。

最新的java sdk下载地址是:http://wwv.renren.com/xn.do?ss=10791&rt=1,它在google code上的官方首页是http://wwv.renren.com/xn.do?ss=10791&rt=1。当然,你还需要知道的是新浪微博API的官方文档的地址:http://wwv.renren.com/xn.do?ss=10791&rt=1

好了,下面我们来看看java sdk。

首先,解包,是一个java的工程,在eclipse中导入该工程,展开的工程如下:

src中是sdk的源码,example里是使用sdk的示例代码。

下面来配置该sdk,就是要把你的App Key和App Secret导入到工程中,具体的方法可以看http://wwv.renren.com/xn.do?ss=10791&rt=1,也就是:

在Config.properties里

client_ID :appkey(创建应用获取到的appkey)

client_SERCRET :app_secret(创建应用获取到的appsecret)

redirect_URI : 回调地址(OAuth2的回调地址)(可以不填,建议先不填吧)

同时在WeiboConfig里更改下

props.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("config.properties"));

相信你能找到这两个文件在哪里。

然后调用example里:OAuth4Code.java,运行,会弹出认证界面:

填写一个正确的新浪微博账号后,会跳转到下面的认证界面(未填回调地址,所以显示连接失败):

我们并不需要这个页面,而是需要该页面的地址,地址的最后是code=XXXXX,把XXXXX填到eclipse的控制台下:

回车,在最下面会得到access_tokenuid,记下来,这两个参数很有用,一般来说需要用这两个参数来从服务器上抓取数据:

接下来,就可以看example了,随便打开一个示例代码,比如以user/show接口为例:

publicclassShowUser{

        /**

           * @param args

        */

        public static void main(String[] args){

                  String access_token = args[0];

                  Weibo weibo =newWeibo();

                  weibo.setToken(access_token);

                  String uid = args[1];

                  Users um =newUsers();

                  try{

                          User user = um.showUserById(uid);

                          Log.logInfo(user.toString());

                   }catch(WeiboException e){

                          e.printStackTrace();

                   }

          }

}

//weibo.setToken为auth4code获取到的oauth2的accesstoken。

//uid可以填刚才得到的uid(就是授权用户的uid),也可以填任何一个有效的uid(天哪,就是说理论上你能获取任何一个人在新浪微博上填写的个人信息!)。

可以看到,实际上获取用户信息的最主要一句话是

User user = um.showUserById(uid);

就是调用showUserById这个函数,简单吧,其他的比如获取用户的粉丝列表神马的大同小异。

就介绍到这里吧,现在打算写一个android联系人的小程序,给有强迫症的同学们用,主要作用是修复联系人信息的格式,你的手机里的联系人是不是混乱不堪呢?试试我的小程序吧,若有爱,请期待。

posted on 2012-08-17 10:33  草原和大树  阅读(5748)  评论(0编辑  收藏  举报