`

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

 
阅读更多

本文转载自:http://blog.csdn.net/a__java___a/article/details/6831684
新浪微博采用的是OAuth协议来做的登录,现在登录接口做完了。留个笔记方便以后查阅,也方便后来人能够少走一些弯路。

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

接下来说说如何实现新浪微博的接口
在网上查了好多资料,基本上都是在发自己写的代码。并且都不完整。所以看半天不知道怎么回事,也自己去捣鼓着自己写了。
研究了好久都快写的差不多了,突然响起来看新浪登录SDK的时候看到的代码,感觉自己跟里面的代码有点似曾相熟的感觉。于是开始翻新浪微博提供的代码。结果发现代码新浪都给你写得差不多了,完全不需要自己去写。

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

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

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

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

最主要的类是weibo4j\examples\weibo4j\examples\WebOAuth.java这个类主要是做WEB应用用的,我也是做WEB应用,所以主要说说关于WEB这一块的。
这个类里面有
获取oauth_token和oauth_token_secret参数的
[java] view plaincopy
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参数的
[java] view plaincopy
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里面
[java] view plaincopy
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里面去。

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

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

分享到:
评论

相关推荐

    新浪微博OAuth授权的Java实现.pdf

    新浪微博OAuth授权的Java实现 一、 OAuth协议简介 OAuth协议是一种广泛使用的授权协议,使用户不需要直接向第三方应用提供用户名及密码,且使一个账户在多个网站中使用成为可能。OAuth协议的细节描述可参考其官方...

    新浪微博 oauth2 模拟登录

    在本文中,我们将深入探讨如何使用OAuth2协议模拟登录新浪微博,并了解相关技术细节。OAuth2是一种授权框架,允许第三方应用代表用户与服务提供商进行交互,例如发布微博。在这个例子中,我们将使用Java的Apache ...

    新浪微博OAuth2.0认证实现登陆

    总的来说,实现新浪微博OAuth2.0认证登录是一个涉及用户授权、安全性和用户体验的过程。了解并遵循OAuth2.0协议,结合新浪微博的API文档,你可以为用户提供安全且便捷的登录方式。在开发过程中,持续学习和更新知识...

    新浪微博OAuth授权

    ### 新浪微博OAuth授权 #### OAuth协议简介 OAuth是一种开放标准协议,用于授权应用程序访问受保护资源(如用户的个人信息)而无需用户提供凭据(如用户名和密码)。它为客户端应用程序提供了一种安全的方法来访问...

    最新JAVA调用新浪微博API之发微博、发图片

    总之,Java调用新浪微博API主要涉及OAuth2认证流程、API接口的调用以及异常处理等方面的知识。weibo4j-oauth2库提供了方便的接口,使得开发者能更轻松地实现与新浪微博的集成。通过学习和实践,你可以创建自己的微博...

    android新浪微博OAuth2认证demo

    在这个“android新浪微博OAuth2认证demo”中,我们将探讨OAuth2.0认证的关键步骤和相关技术。 1. **OAuth2.0的基本流程** OAuth2.0主要分为四个角色:资源所有者(User)、资源服务器(Resource Server)、客户端...

    使用WebView实现新浪微博Oauth2.0认证(android)

    在Android开发中,有时我们需要集成第三方社交平台的功能,如新浪微博,以便用户能够通过自己的社交账号登录或分享内容。本文将详细介绍如何使用WebView组件实现新浪微博的OAuth2.0认证过程,这是一个安全、便捷的...

    OAUTH1.0腾讯登录与新浪微博登录

    在这个主题中,我们将深入理解OAuth 1.0在腾讯和新浪微博登录中的应用,以及如何使用Java进行实现。 OAuth 1.0的核心概念包括三个主要角色:资源所有者(用户)、客户端(第三方应用)和认证服务器(腾讯或新浪微博...

    java调用新浪微博API接口源码

    Java调用新浪微博API接口是Java开发者与社交媒体进行交互的一个常见任务,主要涉及到网络请求、OAuth2.0授权机制以及微博平台提供的各种API服务。这里,我们深入探讨一下这个主题。 首先,`weibo4j-oauth2`这个...

    java实现新浪微博Oauth接口发送图片和文字的方法

    总之,Java实现新浪微博OAuth接口发送图片和文字,需要理解OAuth授权机制,熟悉HTTP的POST请求,以及正确处理多部分表单数据。通过以上步骤和适当的库支持,您可以构建一个可靠的微博发布工具。

    Android 新浪、腾讯、网易、搜狐微博OAuth认证整合Android版.zip

    1. **新浪微博OAuth**: 新浪微博提供了SDK,包括API接口和OAuth认证。在Android应用中,你需要注册应用,获取App Key和App Secret,然后通过WebView或自定义浏览器加载授权页面,引导用户授权。授权成功后,通过回...

    java新浪微博接口的访问的两种方式

    总的来说,Java访问新浪微博接口涉及到OAuth授权和API调用两大环节,理解并掌握这两点是实现微博功能的关键。在实际开发中,还需要注意错误处理、API调用频率限制以及数据解析等细节,确保应用的稳定性和用户体验。

    sina新浪微博登录JAVA版SDK

    总结来说,`sina新浪微博登录JAVA版SDK`结合`weibo4j-oauth2-beta2.1.1.zip`和`weibo4j-1.2.0.zip`,为开发者提供了便利的工具,使得在JAVA环境中集成微博登录和微博功能变得简单。通过理解OAuth2.0授权机制,熟悉`...

    新浪微博API-取消关注

    微博API是开发者用来与新浪微博平台交互的接口,它允许用户进行各种操作,如发布、阅读、转发微博,管理关注列表等。在“新浪微博API-取消关注”这个主题中,我们将深入探讨如何利用API来批量取消关注,特别是在应对...

    sina weibo oauth2.0 java 使用示例

    Sina Weibo OAuth2.0是新浪提供的安全认证机制,它允许开发者通过用户的授权来访问其微博数据,而无需直接获取用户的登录凭证。Java JSP(JavaServer Pages)是一种动态网页技术,它允许我们在服务器端执行Java代码...

    java实现新浪微博第三方登录

    本教程将基于提供的"java实现新浪微博第三方登录"的Demo,深入讲解如何使用Java来实现这一功能。 首先,我们需要理解OAuth2.0授权框架,这是新浪微博提供第三方登录的基础。OAuth2.0允许用户授权第三方应用访问其在...

    java新浪微博(含源代码)

    在这个项目中,我们重点讨论基于Java实现的新浪微博API客户端,它提供了访问和交互微博数据的能力。 首先,Java是面向对象的编程语言,它的强大在于其丰富的类库和强大的社区支持。在开发微博应用时,可以使用如...

    新浪微博客户端OAuth授权DEMO

    总结来说,新浪客户端OAuth授权DEMO是学习和实践OAuth授权机制的一个实用工具,它可以帮助开发者理解如何与新浪接口进行交互,以便在自己的应用中实现用户授权和数据访问。通过研究这个DEMO,开发者可以更好地掌握...

    2种方法Java调用新浪微博接口代码示例

    2种方法Java调用新浪微博接口示例,一种是不使用任何Sdk自己实现Oauth授权,然后实现简单的发布微博功能,另一个是使用weibo4j-oauth2这个SDK做一个简单的抢沙发工具,全部代码都有详细的注释,有问题可以通过以下...

    新浪微博后台登录授权认证

    总结,实现“新浪微博后台登录”涉及的主要知识点包括OAuth2.0协议、微博开放平台的应用注册、授权流程、Java的Spring Social框架使用、以及安全地处理和使用Access Token。通过以上步骤,开发者可以构建出一个安全...

Global site tag (gtag.js) - Google Analytics