200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 新浪微博OAuth接口实现登录 java版

新浪微博OAuth接口实现登录 java版

时间:2019-04-01 01:54:21

相关推荐

新浪微博OAuth接口实现登录 java版

新浪微博采用的是OAuth协议来做的登录,现在登录接口做完了。留个笔记方便以后查阅,也方便后来人能够少走一些弯路。

首先简单说说OAuth授权协议:OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。同时,任何第三方都可以使用OAuth认证服务,任何服务提供商都可以实现自身的OAuth认证服务,因而OAUTH是开放的。业界提供了OAuth的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间,因而OAuth是简易的。目前互联网很多服务如Open API,很多大头公司如Google,Yahoo,Microsoft等都提供了OAuth认证服务,这些都足以说明OAUTH标准逐渐成为开放资源授权的标准。

接下来说说如何实现新浪微博的接口

在网上查了好多资料,基本上都是在发自己写的代码。并且都不完整。所以看半天不知道怎么回事,也自己去捣鼓着自己写了。

研究了好久都快写的差不多了,突然响起来看新浪登录SDK的时候看到的代码,感觉自己跟里面的代码有点似曾相熟的感觉。于是开始翻新浪微博提供的代码。结果发现代码新浪都给你写得差不多了,完全不需要自己去写。

下面就是我做登录接口的流程

首先我需要实现的需求是,这个用户必须是新浪的,并且需要获得该用户的用户名与其他必要的资料,获取完后进入到我的平台进行自动注册或者登录操作。

新浪微博验证用户从官网提供的资料/wiki/OAuth来看写的也是比较深入的。但是跟我们需要做的事情并没有什么关系,也可以说完全没有关系,因为我们已经有了从新浪下载的SDK了,至于什么事SDK可以去/website.php看看。

正式开始下载完JAVA版本的SDK后解压开来,解压开来的文件夹名称应该是weibo4j,这是一个Myeclipse项目,所以如果你的是Myeclipse就直接导入项目就很好办了,如果是其它工具的话,也可以导入方便查看。

最主要的类是weibo4j\examples\weibo4j\examples\WebOAuth.java这个类主要是做WEB应用用的,我也是做WEB应用,所以主要说说关于WEB这一块的。

这个类里面有

获取oauth_token和oauth_token_secret参数的

public static RequestToken request(String backUrl) {try {System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY);System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET);Weibo weibo = new Weibo();RequestToken requestToken = weibo.getOAuthRequestToken(backUrl);/*System.out.println("Got request token.");System.out.println("Request token: " + requestToken.getToken());System.out.println("Request token secret: "+ requestToken.getTokenSecret());*/return requestToken;} catch (Exception e) {e.printStackTrace();return null;}}

也有获取oauth_token,oauth_token_secret参数的

public static AccessToken requstAccessToken(RequestToken requestToken,String verifier) {try {System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY);System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET);Weibo weibo = new Weibo();AccessToken accessToken = weibo.getOAuthAccessToken(requestToken.getToken(), requestToken.getTokenSecret(), verifier);/*System.out.println("Got access token.");System.out.println("access token: " + accessToken.getToken());System.out.println("access token secret: "+ accessToken.getTokenSecret());*/return accessToken;} catch (Exception e) {e.printStackTrace();return null;}}

其次是这个文件夹里面的weibo4j\web\call.jsp与callback.jsp文件,这两个文件主要就是实现用。

还有一个是这个weibo4j\src\weibo4j\Weibo.java这个主要是用来初始配置KEY与Secret跟一些常用方法。

首先修改Weibo.java里面

public static String CONSUMER_KEY = "申请时新浪提供的App Key";public static String CONSUMER_SECRET = "申请时新浪提供的App Secret";

如果你的是Myeclipse你就可以运行项目了。

正常来说就没有问题了,

如果你的是其他开发工具,那么请先将weibo4j\src\weibo4整个这个文件夹拷贝到你的项目里面,这里面有新浪OAuth需要的所有类与方法

然后拷贝WebOAuth.java这个类,接着将call.jsp与callback.jsp里面的代码考到你需要实现的页面或者action里面去。

接着检查一下代码,就可以运行了。很简单的。

如果你看了觉得不懂,那你就用心看看代码,相信你会成功的,如果你实在看不懂,那你还是用心看看代码,最后你总会成功的。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。