- 浏览: 2267535 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (423)
- FileNet相关 (3)
- 应用服务器相关 (22)
- Java综合 (77)
- 持久层 (24)
- struts (11)
- webservice (8)
- 虚拟机 (2)
- 光盘刻录 (0)
- AD及AD集群 (1)
- JS (33)
- F5 (0)
- loadrunner8.1 (0)
- Java 反编译工具 (2)
- DataBase (62)
- ant (1)
- 操作系统 (29)
- 我的任务 (3)
- 平台架构 (16)
- 业务规则引擎 (2)
- 模板 (1)
- EJB (5)
- spring (24)
- CMMI (1)
- 项目管理 (20)
- LDAP (13)
- JMS (10)
- JSP (19)
- JBPM (2)
- web MVC框架设计思想 (2)
- 第三方支付平台 (2)
- BUG管理工具 (1)
- 垃圾站 (2)
- php (1)
- swing (1)
- 书籍 (1)
- QQ qq (2)
- 移动互联网 (26)
- 爱听的歌曲 (0)
- hadoop (4)
- 数据库 (9)
- 设计模式 (1)
- 面试经验只谈 (1)
- 大数据 (9)
- sp (1)
- 缓存数据库 (8)
- storm (2)
- taobao (2)
- 分布式,高并发,大型互联网,负载均衡 (6)
- Apache Ignite (0)
- Docker & K8S (0)
最新评论
-
wangyudong:
新版本 Wisdom RESTClienthttps://gi ...
spring rest mvc使用RestTemplate调用 -
wangyudong:
很多API doc生成工具生成API文档需要引入第三方依赖,重 ...
spring rest mvc使用RestTemplate调用 -
zhaoshijie:
cfying 写道大侠,还是加载了两次,怎么解决啊?求。QQ: ...
spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) -
xinglianxlxl:
对我有用,非常感谢
spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) -
k_caesar:
多谢,学习了
利用maven的resources、filter和profile实现不同环境使用不同配置文件
在做一个需要调用微博接口的项目中.发现了一些问题
1.腾讯微博sdk的封装粒度不够,需要在其上做二次开发
2.新浪,腾讯微博没有实现统一的接口,在做项目的时候需要将它们分开来实现,代码看起来很别扭
我所做的就是解决了以上两个问题,所以现在做微博应用开发非常方便
统一接口
Java代码
/**
* @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;
}
/**
* @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是用微博帐号申请的),只需要初始化一次
新浪:
Java代码
System.setProperty("weibo4j.oauth.consumerKey", "xxx");
System.setProperty("weibo4j.oauth.consumerSecret", "xxxxxxxxxx");
System.setProperty("weibo4j.oauth.consumerKey", "xxx");
System.setProperty("weibo4j.oauth.consumerSecret", "xxxxxxxxxx");
腾讯:
Java代码
System.setProperty("qqweibo.oauth.consumerKey","xxx");
System.setProperty("qqweibo.oauth.customSecret","xxxxxxxxxx");
System.setProperty("qqweibo.oauth.consumerKey","xxx");
System.setProperty("qqweibo.oauth.customSecret","xxxxxxxxxx");
2.传入微博帐号登录后需要返回的地址callbackUrl,得到requestToken和授权url
新浪:
Java代码
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 SinaWeibo();
try {
RequestToken requestToken = weibo.getRequestToken(callbackUrl);
System.out.println(requestToken.getReqToken()+"-->"+requestToken.getReqTokenSecret());
System.out.println(requestToken.getAuthorizationURL());
} catch (Exception e) {
e.printStackTrace();
}
腾讯:
Java代码
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();
}
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
新浪:
Java代码
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 SinaWeibo();
try {
AccessToken accessToken = weibo.getAccessToken(requestToken, oauth_verifier);
System.out.println(accessToken.getAccessToken()+"-->"+ accessToken.getAccessTokenSecret());
} catch (Exception e) {
e.printStackTrace();
} 腾讯:
Java代码
Weibo weibo = new QQWeibo();
try {
AccessToken accessToken = weibo.getAccessToken(reqToken, oauth_verifier);
System.err.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.调用获取用户接口
新浪:
Java代码
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 SinaWeibo();
try {
weibo.setAccessToken(accessToken);
User user = weibo.getUserInfo();
System.out.println(user.getHuaming());
} catch (Exception e) {
e.printStackTrace();
}
腾讯:
Java代码
Weibo weibo = new QQWeibo();
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包发给大家
- weibo-1.0.0.jar (15.1 KB)
- 下载次数: 71
评论
2 楼
cmm793535637
2011-12-22
包不能用,少了东西
1 楼
txc_tang
2011-10-11
少了包。
java.lang.ClassNotFoundException: com.mime.qweibo.OauthKey
java.lang.ClassNotFoundException: com.mime.qweibo.OauthKey
发表评论
-
各大巨头电商提供的IP库API接口-新浪、搜狐、阿里...
2015-04-22 13:18 15928关键字:各大巨头电商提供的IP库API接口-新浪、搜狐、阿里. ... -
用Java来获取访问者真实的IP地址-超准确
2015-04-22 12:55 6270关键字:用Java来获取访问者真实的IP地址-超准确 下面分享 ... -
Shiro集成OAuth2
2015-04-21 10:31 12484关键字:Shiro集成OAuth2 参考:http://jin ... -
淘宝网架构分享总结 - 架构,分布式,淘宝,虚拟化,水平伸缩
2015-04-19 00:25 7647推荐综合架构交流群:JAVA开发高级群 点击入群!!! 关键 ... -
Zookeeper 和 SASL
2015-04-16 09:29 13659关键字:Zookeeper 和 SASL 介绍 这是一个描述Z ... -
非对称加密(RSA)加密解密实现通信JAVA端工具类(教程)
2015-04-15 17:27 1194关键字:非对称加密(RSA)加密解密实现通信JAVA端工具类( ... -
对称加密(AES)加密实现工具类(教程)
2015-04-15 17:11 2159关键字:对称加密(AES)加密实现工具类(教程) Java加 ... -
Curator-Framework开源Zookeeper快速开发框架介绍
2015-04-14 18:41 714关键字:Curator-Framework开源Zookeepe ... -
IM消息推送之Openfire
2015-04-13 13:40 2235关键字:IM消息推送之Openfire Openfire 采用 ... -
Nio框架之Mina的demo
2015-04-12 13:38 670关键字:Nio框架之Mina的demo 官网:http://m ... -
AMQP中文版协议规范
2015-01-23 17:12 3021关键字:AMQP中文版协议规范 AMQP中文版协议规范:ht ... -
数据库连接池选型
2014-12-04 18:32 1182关键字:数据库连接池选型 proxool(与spring不太 ... -
spring中的数据源配置信息加密方案
2014-10-22 10:36 1091关键字:spring中的数据源配置信息加密方案 附件是完整的 ... -
OAuth2.0的Java实现 Apache Amber
2014-10-09 23:20 818关键字:OAuth2.0的Java实现 Apache Ambe ... -
企业信息管理系统基础框架jeesite
2014-05-06 22:21 2617jeesite项目地址(使用说明,):http://jeesi ... -
java中文分词组件-word分词
2014-05-06 21:33 22008关键字:java中文分词组 ... -
java制作可执行文件EXE文件
2014-05-05 18:58 1627关键字:java制作可执行文件EXE文件 参考:http: ... -
Quartz任务调度器详解
2014-04-25 22:46 19029关键字: 参考文章:ht ... -
各种hash算法-hashcodeUtil
2014-04-24 15:36 4276关键字:各种hash算法-hashcodeUtil -
性能监控工具类(StopWatchUtil)
2014-03-21 15:12 5753关键字:性能监控工具类(StopWatchUtil) 附 ...
相关推荐
3./class/下,文件名中含有If的文件,定义的是接口.总计3个接口文件:各个网站的api访问路径(urlIf)、申请到的appkey接口(keyIf),返回的参数名接口(paramIf)。...本例中的OAuth客户端来源于新浪微博OAuth认证SDK。
1. **新浪微博OAuth认证**: 新浪微博提供了OAuth2.0的认证方式,开发者需要在新浪开放平台上注册应用,获取App Key和App Secret。用户授权后,应用会收到一个临时的code,然后通过code换取access token,最后用...
在本主题"新浪、腾讯、网易、搜狐微博OAuth认证整合"中,我们将探讨这四大中国主流社交媒体平台如何实现OAuth认证整合,以便第三方应用能安全地与这些微博服务进行交互。 1. **OAuth基本原理**:OAuth的核心是授权...
1. 新浪微博OAuth认证: 新浪微博API提供了详细的开发者文档,包括注册应用获取AppKey和AppSecret,以及授权URL的构建。首先,你需要在新浪微博开发者平台上注册应用,然后获取到AppKey和AppSecret。接着,你需要...
本资源“sina,网易,搜狐,腾讯等微博OAuth认证代码”提供了整合这四大中国主流社交媒体平台的OAuth认证实现,对于开发者来说是一个极其有价值的参考。 微博OAuth认证流程大致包括以下几个步骤: 1. **注册应用**...
在这个名为"Android 新浪、腾讯、网易、搜狐微博OAuth认证整合Android版.zip"的压缩包文件中,包含了一个完整的Android项目源码,旨在教你如何在Android应用中实现这四个主流微博平台的OAuth认证集成。 首先,你...
这个"安卓Android源码——新浪、腾讯、网易、搜狐微博OAuth认证整合版.zip"压缩包提供了一个完整的解决方案,允许开发者通过OAuth认证方式实现与这四大微博平台的接口对接。OAuth是一种授权框架,它允许第三方应用...
OAuth 1.0的核心概念包括三个主要角色:资源所有者(用户)、客户端(第三方应用)和认证服务器(腾讯或新浪微博)。当用户想要使用第三方应用访问其在社交媒体平台上的数据时,OAuth 1.0提供了一种授权机制。 1. *...
Android版新浪、网易、腾讯、搜狐微博OAuth认证实例集,想更多了解OAuth认证的朋友,请下载java源码包,在示例中完整解析了OAuth认证的过程:定义URL编码方式,请求url,得到注册应用后服务商提供的key和secret,...
本项目重点在于实现新浪、腾讯和网易微博的OAuth统一认证接口,这允许开发者构建跨平台的应用,让用户能够方便地通过自己的微博账号登录。 OAuth的工作流程主要包括以下几个步骤: 1. **授权请求**:当用户尝试...
Android 新浪、腾讯、网易、搜狐微博OAuth认证整合Android版.zip项目安卓应用源码下载Android 新浪、腾讯、网易、搜狐微博OAuth认证整合Android版.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人...
首先,我们来看新浪微博的OAuth认证。新浪提供了SDK,开发者需要在新浪开放平台注册应用,获取App Key和App Secret。然后在应用中,引导用户跳转到新浪授权页面,用户同意后,会返回一个授权码,应用再用这个授权码...
安卓项目源码Android 新浪、腾讯、网易、搜狐微博OAuth认证整合Android版提取方式是百度网盘分享地址
Android应用源码之新浪、腾讯、网易、搜狐微博OAuth认证整合版.zip项目安卓应用源码下载Android应用源码之新浪、腾讯、网易、搜狐微博OAuth认证整合版.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合...
这个压缩包文件"Android参考源码-新浪、腾讯、网易、搜狐微博OAuth认证整合Android版.zip"包含了一个名为"OauthTest"的项目,它为我们提供了一个学习和参考的平台,以了解如何在Android应用中实现这些社交平台的登录...
Android登录各大网站微博OAuth认证实例,附完整实例源代码。比如新浪、腾讯、网易、搜狐等微博的OAuth认证功能,运行效果如测试界面所示。实现方面,在代码中初始化各门户网站微博的认证信息、设置当前操作的weibo,...
这篇文档将深入解析《Android应用源码之新浪、腾讯、网易、搜狐微博OAuth认证整合版》的源码,帮助你理解和实现Android应用中社交媒体登录功能的集成。OAuth是一种授权协议,广泛应用于各种在线服务,允许第三方应用...
里面的一个项目有4个微博的OAuth代码示例,用Eclipse带ADT插件打开后,必须先把SystemConfig类的相应的常量改成你申请的相应微博的appKey和appSecret才能正常运行,本人亲测其中的腾讯微博部分。