在做一个需要调用微博接口的项目中.发现了一些问题
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包发给大家
分享到:
相关推荐
在手机客户端 向新浪腾讯微博发送微博运用Oauth认证 第三方jar包
新浪和腾讯微博的代码接口
竞品分析报告腾讯微博VS新浪微博.ppt
腾讯微博开放平台api调用实现,下载后可立即使用。
最近项目需要搞腾讯微博api封装,主要针对开发者,想要使用腾讯微博官方发布的api接口时,如何进行授权,如何调用和封装官方接口,这些东西用来共同学习和相互进步,相信这个可以满足你的基本需要;
一键分享到新浪微博,腾讯微博,人人网,QQ空间,微信好友圈
腾讯微博源代码,想学习android微博开发的童鞋自己拿去看看啊
本源码是腾讯微博 API接口 输出 可以插入自己的网页,别人随时可以看到你在QQ上发 表的信息,也可以做为公告。等等 用途广泛 =============================================================== 演示地址:...
分享到新浪,腾讯微博
这个是个新浪腾讯微博分享的demo,采用author2授权方式。
将自己的网页URL地址分享到腾讯,网易,新浪微博
该工具可用于查询新浪、腾讯微博关键词热度
新浪腾讯微博oauth2.0登录授权及转发实例
Oauth 2.0 新浪微博 腾讯微博 实现2个微博的授权与发布一条微博。
告别第三方分享平台,完全绿色,你只要操作一个类,新浪微博、腾讯微博,微信好友,朋友圈 分享 有所流程 全部给你搞定,你还不下吗,(运行实例,导入项目中的debug签名文件)
好用的ios 腾讯微博分享接口。找了好久才搞到的,现在给自己备个份。
自己的app绑定腾讯以及新浪微博的示例。
asp.net 腾讯微博新浪微博帐号登录 授权
不必担心,不需要自己去写WebView去加载授权页面,新浪、腾讯微博SDK都已封装好了,他们的SDK里面已经完成了这些操作。新浪微博使用的dialog加载的授权页面,而腾讯使用的是Activity加载的授权页面。无论双方方式...