`
yunlonglove
  • 浏览: 242723 次
社区版块
存档分类
最新评论

Android新浪微博获取评论信息、发表评论、转发微博等.

 
阅读更多

首先前面一节中说过,获取用户的微博信息,这里简单介绍下获取微博的评论信息,以及对微博进行评论,转发微博等.

OAuth认证,这里就不多说了,

我说名一下接口:

获取微博的评论列表接口: http://api.t.sina.com.cn/statuses/comments.json

我们这里需要把微博ID做为参数请求,这个ID我们可以根据前面一节解析用户的微博信息得到.

对微博进行评论接口:http://api.t.sina.com.cn/statuses/comment.json

我们需要把微博的id,与我们的评论comment做为参数进行请求.

微博转发接口:http://api.t.sina.com.cn/statuses/repost.json

这里我们只需要微博的id.

下面是实现部分代码:

/***
	 * 获取用户的评论
	 * 
	 * @param requstURL
	 *            请求url
	 * @param blog_id
	 *            微博id
	 * @return JSON(String)
	 * @throws OAuthMessageSignerException
	 * @throws OAuthExpectationFailedException
	 * @throws OAuthCommunicationException
	 * @throws ClientProtocolException
	 * @throws IOException
	 * @throws JSONException
	 */
	public static String getJSONBlogsComments(String requstURL, String blog_id)
			throws OAuthMessageSignerException,
			OAuthExpectationFailedException, OAuthCommunicationException,
			ClientProtocolException, IOException, JSONException {
		String jsonArray = null;
		HttpResponse httpResponse;
		HttpClient client = new DefaultHttpClient();
		HttpPost httpPost = new HttpPost(requstURL);
		getTokenAndTokenSecret();
		CommonsHttpOAuthConsumer authConsumer = new CommonsHttpOAuthConsumer(
				Constant.weiBo.consumerKey, Constant.weiBo.consumerSecret);
		authConsumer.setTokenWithSecret(token, tokenSecret);

		List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
		nameValuePairs
				.add(new BasicNameValuePair(Constant.weiBoTag.id, blog_id));
		httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs, 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()) {
			jsonArray = EntityUtils.toString(httpResponse.getEntity());
		}
		Log.i(Constant.TAG, jsonArray);
		return jsonArray;
	}

		/***
	 * 评论一条微博
	 * 
	 * @throws IOException
	 * @throws ClientProtocolException
	 * @throws OAuthCommunicationException
	 * @throws OAuthExpectationFailedException
	 * @throws OAuthMessageSignerException
	 */
	public static boolean CommentBlogByID(String blog_ID, String comment,
			String requstURL) throws ClientProtocolException, IOException,
			OAuthMessageSignerException, OAuthExpectationFailedException,
			OAuthCommunicationException {
		HttpResponse httpResponse;
		HttpClient client = new DefaultHttpClient();
		HttpPost httpPost = new HttpPost(requstURL);
		getTokenAndTokenSecret();
		CommonsHttpOAuthConsumer authConsumer = new CommonsHttpOAuthConsumer(
				Constant.weiBo.consumerKey, Constant.weiBo.consumerSecret);
		authConsumer.setTokenWithSecret(token, tokenSecret);

		List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
		nameValuePairs
				.add(new BasicNameValuePair(Constant.weiBoTag.id, blog_ID));
		nameValuePairs.add(new BasicNameValuePair(Constant.weiBoTag.comment,
				comment));

		httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs, 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()) {
			return true;
		}
		return false;
	}

	/****
	 * 微博转发
	 * 
	 * @param blog_ID
	 *            微博id
	 * @param requstURL
	 *            请求URL
	 * @return
	 * @throws OAuthMessageSignerException
	 * @throws OAuthExpectationFailedException
	 * @throws OAuthCommunicationException
	 * @throws ClientProtocolException
	 * @throws IOException
	 */
	public static boolean TranspondBlog(String blog_ID, String requstURL)
			throws OAuthMessageSignerException,
			OAuthExpectationFailedException, OAuthCommunicationException,
			ClientProtocolException, IOException {
		HttpResponse httpResponse;
		HttpClient client = new DefaultHttpClient();
		HttpPost httpPost = new HttpPost(requstURL);
		getTokenAndTokenSecret();
		CommonsHttpOAuthConsumer authConsumer = new CommonsHttpOAuthConsumer(
				Constant.weiBo.consumerKey, Constant.weiBo.consumerSecret);
		authConsumer.setTokenWithSecret(token, tokenSecret);

		List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
		nameValuePairs
				.add(new BasicNameValuePair(Constant.weiBoTag.id, blog_ID));

		httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs, 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()) {
			return true;
		}
		return false;
	}


其实主要是Oauth认证,我们只需要相应的Token 和Tokensecret,这些接口没有什么,相信大家看过新浪API都会的.

下面是实现后的效果:

获取用微博的评论列表 获取用户的评论列表

微博评论界面 刚评论的信息

转发的微博.

应用正在开发中,界面很丑陋,所以请见谅.

好了对于微博的一些应用就介绍这么多了,如果有哪里写的不足,您不必高抬贵手,请留言指出.

分享到:
评论

相关推荐

    Android新浪微博Android客户端.zip

    4. UI组件与动画:Android新浪微博客户端充分利用系统提供的UI组件,如RecyclerView用于展示信息流,ImageView进行图片显示,同时结合自定义View和动画效果,提升整体的视觉吸引力和操作流畅性。 三、核心功能解析 ...

    android新浪微博客户端

    本篇文章将围绕“android新浪微博客户端”这一主题,深入探讨如何实现发表、评论、转发等功能,并对完善主页界面进行详尽解析。 首先,构建Android新浪微博客户端的核心在于对接新浪的开放API。这需要开发者注册...

    android新浪微博SDK精简版

    以上是对“Android新浪微博SDK精简版”的基本介绍和关键知识点的解析。实际开发中,开发者可以根据需求选择适合的功能模块,灵活运用SDK提供的接口,打造出满足用户需求的社交功能。同时,参考示例代码(如android_...

    Android最新版新浪微博

    Android版新浪微博作为一款专门为安卓用户设计的应用程序,它集成了多种功能,包括实时推送、信息阅读、社交互动等,使得用户可以随时随地与世界保持连接。本文将深入探讨Android最新版新浪微博的特点、功能及其在...

    android 新浪微博源码1.1版

    【Android 新浪微博源码1.1版】是一款基于Android平台的应用程序源代码,它提供了对新浪微博服务的全面实现,让开发者能够深入了解和学习如何在Android环境中构建一个完整的社交网络应用。这个源码版本相较于之前的...

    Android新浪微博客户端

    【Android新浪微博客户端】 Android新浪微博客户端是一款基于Android操作系统开发的应用程序,允许用户在移动设备上浏览、发布、分享微博,与其他用户进行互动。该客户端在2011年5月12日进行了更新,可能包含了当时...

    新浪微博Android SDK

    Android SDK提供了丰富的API接口,例如获取用户信息、发布微博、转发/评论微博、获取热门话题等。开发者可以通过这些接口,根据需求构建相应的功能模块。 4. **数据获取** 开发者可以使用SDK获取用户的基本信息,...

    Android版新浪微博API(OAuth2.0授权)

    - **微博相关API**: 用于发布、获取、评论、转发微博。 - **公共服务API**: 提供天气、新闻、股票等公共信息。 - **地理信息API**: 可以获取和设置微博的地理位置信息,支持LBS服务。 6. **SDK集成**: 包名为`...

    新浪微博AndroidSDK_API

    这个库包含了所有与新浪微博API交互所需的类和方法,包括用户授权、信息获取、内容发布等功能。开发者可以通过导入这个库,轻松地在Android应用中实现登录、分享、评论等操作。 1. **用户授权**:SDK提供了OAuth2.0...

    Android客户端接入新浪微博

    微博提供了SDK和API接口,用于实现授权登录、发布微博、获取用户信息、评论和转发等功能。开发者需要注册应用,获取App Key和App Secret,这些都是进行API调用的基础。 OAuth授权是接入过程中的关键步骤。Android...

    Android 新浪微博客户端

    这需要处理复杂的社交网络交互,包括请求评论列表、发送评论、转发微博等API调用。 此外,客户端可能还包括关注、好友、消息通知等功能。这些功能的实现需要维护用户的社交关系数据,以及实时更新的通知系统。例如...

    新浪微博 android DEMO

    今天我们将深入探讨一个特别的项目——“新浪微博 android DEMO”,这是一个专为Android平台设计的新浪微博客户端示例程序,它提供了分享新微博、转发微博、评论以及查询微博等核心功能,对于想要学习Android应用...

    手把手教你用Android开发新浪微博客户端》

    在《手把手教你用Android开发新浪微博客户端》这本书中,作者会逐步引导读者完成以上所有步骤,包括设置项目、获取API权限、设计UI、实现网络请求以及处理数据。书中的实例代码和详细解释将帮助初学者快速掌握...

    Android新浪微博PPT,一看就懂!

    《Android新浪微博开发详解》 这份名为“Android新浪微博PPT”的资料是针对Android平台上新浪微博应用的开发进行详尽解析的教程。它涵盖了从基础到高级的各种知识点,旨在帮助开发者深入理解如何构建一个完整的微博...

    Android新浪微博源代码

    《Android新浪微博源代码详解》 在移动应用开发领域,Android平台因其开源性和强大的社区支持,成为了许多开发者首选的开发环境。对于社交应用来说,微博是中国用户最常用的平台之一,因此,掌握Android微博应用的...

    Android 新浪微博客户端源码2.zip

    首先,Android 新浪微博客户端的源码是一个典型的Android应用程序,它展示了如何与新浪的API接口进行交互,实现用户登录、发布微博、查看时间线、评论、转发等功能。开发者可以从中学习到如何构建一个完整的社交网络...

    android 新浪微博 源码

    2. **新浪开放API**:新浪提供了丰富的API接口,允许开发者访问其服务,如发布微博、获取好友动态、评论和转发等。源码中应该包含了如何配置和使用这些API的代码示例,包括OAuth认证过程,以确保安全地访问用户数据...

Global site tag (gtag.js) - Google Analytics