`
liudeh_009
  • 浏览: 243327 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

对新浪,腾讯微博常用接口的统一封装

    博客分类:
  • open
阅读更多

    在做一个需要调用微博接口的项目中.发现了一些问题

        1.腾讯微博sdk的封装粒度不够,需要在其上做二次开发

        2.新浪,腾讯微博没有实现统一的接口,在做项目的时候需要将它们分开来实现,代码看起来很别扭

     我所做的就是解决了以上两个问题,所以现在做微博应用开发非常方便

统一接口

 

/**
 * @Description:微博接口
 */
public interface Weibo {
   /**
    * 得到RequestToken
    * @param callbackUrl
    * @return
    */
   public RequestToken getRequestToken(String callbackUrl) throws Exception;
   
   /**
    * 得到AccessToken
    * @param requestToken
    * @param verifier
    * @return
    * @throws Exception
    */
   public AccessToken getAccessToken(RequestToken requestToken,String verifier) throws Exception;
  
   /**
    * 
    * @param accessToken
    */
   public void setAccessToken(AccessToken accessToken);
   /**
    * 得到用户信息
    * @return
    */
   public User getUserInfo() throws Exception;
   /**
    * friendNum是否已经被关注
    * @param friendNum
    * @return
    */
   public boolean isFriends(String friendNum) throws Exception;
   /**
    * 关注friendNum
    * @param friendNum
    */
   public void createFriendship(String friendNum) throws Exception;
   
   /**
    * 发微博
    * @param info 微博信息
    * @param file 上传的图片文件,不上传文件传null
    */
   public void publishMsg(String info, File file) throws Exception;
}
 

 

开发步骤如下:

     1.设置项目的key和secret(key,secret是用微博帐号申请的),只需要初始化一次

         新浪:

 

System.setProperty("weibo4j.oauth.consumerKey", "xxx");
System.setProperty("weibo4j.oauth.consumerSecret", "xxxxxxxxxx");
 

        腾讯:

 

System.setProperty("qqweibo.oauth.consumerKey","xxx");
System.setProperty("qqweibo.oauth.customSecret","xxxxxxxxxx");

 

2.传入微博帐号登录后需要返回的地址callbackUrl,得到requestToken和授权url

    新浪:

 

 Weibo weibo = new SinaWeibo();
		 try {
			 RequestToken requestToken = weibo.getRequestToken(callbackUrl);
			 System.out.println(requestToken.getReqToken()+"-->"+requestToken.getReqTokenSecret());
			 System.out.println(requestToken.getAuthorizationURL());
		} catch (Exception e) {
			e.printStackTrace();
		}

 

 腾讯:

 

	Weibo weibo = new QQWeibo();
		try {
			RequestToken reqToken = weibo.getRequestToken(callbackUrl);
			System.out.println(reqToken.getReqToken()+"-->"+ reqToken.getReqTokenSecret());
			System.out.println(reqToken.getAuthorizationURL());
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
 

3.    在浏览器上输入授权url,用微博帐号登录后跳转到callbackUrl,获取callbackUrl后面的参数oauth_verifier的值,

        通过传入requestToken,oauth_verifier的值得到AccessToken

         新浪:

 

 Weibo weibo = new SinaWeibo();
		 try {
			 AccessToken accessToken = weibo.getAccessToken(requestToken, oauth_verifier);
			 System.out.println(accessToken.getAccessToken()+"-->"+ accessToken.getAccessTokenSecret());
		} catch (Exception e) {
			e.printStackTrace();
		}

       腾讯:

 

   Weibo weibo = new QQWeibo();
		try {
			AccessToken accessToken = weibo.getAccessToken(reqToken, oauth_verifier);
			System.err.println(accessToken.getAccessToken()+"-->"+ accessToken.getAccessTokenSecret());
		} catch (Exception e) {
			e.printStackTrace();
		}

      得到accessToken对象后就可以保存下来,以后调用关注好友接口,发微博接口都需要用到

4.调用获取用户接口

    新浪:

 

Weibo weibo = new SinaWeibo();
		 try {
			 weibo.setAccessToken(accessToken);
			 User user = weibo.getUserInfo();
			 System.out.println(user.getHuaming());
		} catch (Exception e) {
			e.printStackTrace();
		}
 

腾讯:

 

Weibo weibo = new QQWeibo();		
		try {
                        weibo.setAccessToken(accessToken);
                        User user = weibo.getUserInfo();
			System.out.println(user.getHuaming());
		} catch (Exception e) {
			e.printStackTrace();
		}

 5.调用关注接口,发微博等接口同4

 

 最后我把封装的jar包发给大家

 

 

2
0
分享到:
评论
6 楼 feijunvip 2013-06-20  
..大神,能教我下怎么用么。。。看了半天,把那个包加到项目中?
哎!
5 楼 liudeh_009 2011-11-30  
反编译一下就行了
4 楼 hejt121 2011-11-28  
有源码吗,大侠,发一份 365353650@qq.com谢谢
3 楼 zhaoshg 2011-10-24  
大侠能否提供源码?
2 楼 liudeh_009 2011-10-12  
要把新浪,腾讯微薄的sdk包同时加上
1 楼 txc_tang 2011-10-11  
少了包。
java.lang.ClassNotFoundException: com.mime.qweibo.OauthKey

相关推荐

    竞品分析报告腾讯微博VS新浪微博.ppt

    微博市场竞争分析报告是对腾讯微博和新浪微博两大微博平台的竞争分析报告。报告对两大平台的用户规模、活跃用户规模、功能设计、用户体验、核心竞争力等方面进行了详细的分析和比较。 一、用户规模分析 报告显示,...

    新浪和腾讯微博的接口

    本文将深入探讨新浪和腾讯微博的代码接口,以及如何利用这些接口进行开发。 新浪微博的接口主要基于OAuth 2.0授权协议,允许第三方应用在用户授权的情况下访问其微博数据。在`SinaWeiboOAuth.rar`这个压缩包中,...

    新浪 腾讯微博分享

    在手机客户端 向新浪腾讯微博发送微博运用Oauth认证 第三方jar包

    腾讯微博接口调用

    腾讯微博接口调用是开发人员与腾讯微博平台交互的重要手段,允许开发者通过编程方式获取微博数据、发布新微博、管理用户关注等。本教程将深入探讨如何利用腾讯微博的API来实现各种功能。 首先,我们需要了解腾讯...

    腾讯微博api封装

    腾讯微博API封装是一个针对开发者的工具,旨在简化与腾讯微博平台的交互过程,方便开发者集成腾讯微博的功能到自己的应用中。下面将详细讲解这个过程,包括API授权、接口调用和封装方法。 首先,让我们从授权开始。...

    新浪腾讯微博分享demo

    《新浪腾讯微博分享demo详解与应用》 在移动应用开发中,社交网络的集成是提升用户体验、扩大用户互动的重要手段。本篇文章将深入探讨“新浪腾讯微博分享demo”,这是一个专为Android平台设计的示例项目,它实现了...

    新浪、腾讯微博,微信好友、朋友圈 分享

    总结来说,实现新浪、腾讯微博和微信的分享功能,开发者需要了解并集成各平台的SDK,处理好授权流程,然后调用对应的分享接口。使用统一的分享库可以简化这一过程,而导入debug签名文件是为了在Android设备上运行和...

    分享到新浪,腾讯微博

    【标题】:“分享到新浪,腾讯微博” 在互联网社交领域,分享内容到新浪和腾讯微博是一种常见的交流方式。这两个平台都是中国领先的社交媒体平台,让用户能够实时发布信息、观点和生活点滴,同时也支持与朋友们互动...

    腾讯微博源代码

    【腾讯微博源代码】是一个对Android平台上微博应用开发感兴趣的开发者极具价值的学习资源。这个源代码提供了腾讯微博客户端的实现细节,让开发者有机会深入理解大型社交应用的架构设计、功能实现以及性能优化。通过...

    新浪以及腾讯微博绑定

    在移动应用开发中,将应用与社交媒体平台如新浪和腾讯微博进行绑定,是提升用户体验、增加用户参与度和分享功能的重要手段。本文将详细介绍如何在你的应用中实现新浪及腾讯微博的绑定,并讨论相关的技术要点。 一、...

    一键分享到新浪微博,腾讯微博,人人网,QQ空间,微信好友圈

    一键分享到新浪微博,腾讯微博,人人网,QQ空间,微信好友圈

    ios 腾讯微博接口

    在iOS开发中,集成腾讯微博接口能够为应用提供社交分享功能,增强用户的互动体验。本文将详细介绍如何在iOS项目中实现腾讯微博的分享接口,并探讨其相关知识点。 首先,我们需要了解腾讯微博开放平台(Tencent Open...

    asp.net 腾讯微博新浪微博帐号登录 授权

    首先,我们需要理解OAuth协议,这是腾讯微博和新浪微博等第三方平台用于授权的应用程序接口。OAuth允许用户授权第三方应用访问其在这些社交平台上的部分信息,而无需提供用户名和密码。开发者需要在腾讯微博和新浪...

    腾讯微博API接口源码.rar

    本源码是腾讯微博 API接口 输出 可以插入自己的网页,别人随时可以看到你在QQ上发 表的信息,也可以做为公告。等等 用途广泛 =============================================================== 演示地址:...

    新浪腾讯微博安卓开发jar包

    标题 "新浪腾讯微博安卓开发jar包" 描述的是一个针对Android平台开发的微博客户端所使用的库文件集合。这个集合包含了多个必要的Java Archive (JAR) 文件,这些文件是开发能够接入新浪和腾讯微博服务的应用程序所...

    新浪腾讯微博oauth2.0登录授权及转发实例

    通过以上讲解,你应该对新浪和腾讯微博的OAuth2.0登录授权和内容转发有了基本的理解。实际开发过程中,建议仔细阅读两家微博的开发者文档,以获取最新的API接口和使用规范。同时,不断优化用户体验,确保授权过程的...

    腾讯微博开放平台

    腾讯微博开放平台是腾讯公司推出的一个社交平台接口,它为开发者提供了与腾讯微博进行数据交互的能力。通过这个平台,开发者可以创建应用,将微博分享、评论、关注等功能无缝地嵌入到自己的应用中,提升用户体验,...

    腾讯微博,新浪微博,网易微博

    将自己的网页URL地址分享到腾讯,网易,新浪微博

    腾讯微博为何干不过新浪微博.docx

    综上所述,腾讯微博在与新浪微博的较量中败下阵来,其根本原因在于腾讯对微博业务的投入不足、用户体验不佳、战略决策失误以及产品设计上的缺陷。而新浪微博则凭借其敏锐的市场洞察力、优秀的用户体验设计和强大的...

Global site tag (gtag.js) - Google Analytics