随笔 - 656  文章 - 1  评论 - 265  阅读 - 321万

新浪微博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   草原和大树  阅读(5766)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2010-08-17 Oracle 冷备份
2010-08-17 oracle 11g 自动内存管理(转:http://www.cnblogs.com/daduxiong/archive/2010/08/12/1798285.html)
2010-08-17 sql把逗号分隔的字符串拆成临时表(转:http://www.cnblogs.com/eleven11/archive/2010/08/17/1800901.html)
< 2012年8月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示