`
mmdev
  • 浏览: 12926181 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

android新浪微博调用用户微博接口

 
阅读更多

根据上篇认证通过后,可以调用API中的开放接口. 一般我们开发的应用都是要显示一些企业的微博信息,如我之前开发的“万事达卡”显示万事达人微博.

首先我们要调用一个接口:http://api.t.sina.com.cn/statuses/user_timeline.json等同于现在的http://api.t.sina.com.cn/statuses/user_timeline.json 现在新浪都改成带s的接口了,不过感觉还是不带s好用,网上很多例子都是调用不带s的,我调用了带s的不管用,不知道原因,知道的朋友,请您给小弟说下. 这里我也用不带是的.

我们要注意一点:

一般我们都是根据screen_name设置查询微博的.

代码片段:

OAuthConsumer authConsumer = new CommonsHttpOAuthConsumer( Oauth.consumerKey, Oauth.consumerSecret);
  authConsumer.setTokenWithSecret(User.token, User.tokenSecret);

这里也可以把前面我们Oauth认证时候的authConsumer传过来,就不用这些步骤了,

 client = new DefaultHttpClient();
  httpPost = new HttpPost(USER_TIMELINE_URL);
  // 把相应的属性值穿进去 还有很多属性,page,count等,请查看api.
  List<NameValuePair> list = new ArrayList<NameValuePair>();
  list.add(new BasicNameValuePair("screen_name", "万事达人"));

  

  httpPost.setEntity(new UrlEncodedFormEntity(list, HTTP.UTF_8));
  httpPost.getParams().setBooleanParameter(
    CoreProtocolPNames.USE_EXPECT_CONTINUE, false);

  authConsumer.sign(httpPost);

  httpResponse = client.execute(httpPost);

  if (HttpStatus.SC_OK == httpResponse.getStatusLine().getStatusCode()) {
   String result = EntityUtils.toString(httpResponse.getEntity());
   Log.i(Oauth.TAG, result);
  }


这样我们就可以获取到我们要的微博信息

展示如下:(显示的是万事达人)

正在开发中,样子很丑,没有来得及调整,就将就着吧.


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics