想在自己网站实现用新浪微博帐号登录的功能,研究新浪微博开放平台好长时间了,也下载了JAVA版的SDK。
但是研究下载的例子感觉有疑惑:
    1、我将下载的代码用jdk5.0编译报错,我没仔细研究报错原因,看到网上有人说只能用jdk6.0,不知道是不是这样?
    2、下载的例子中OAuth4Code这个类里面写的是main方法,里面有打开新浪微博登录页面的代码,这样是只能在服务器电脑上打开吗?对于web网站用户肯定需要在自己电脑上打开微博登录页面啊。新浪开放平台网站上介绍用微博帐号登录的页面看了好几遍了,就是没弄懂怎么做,下载的SDK也没有相应的doc文档,而且都还是源码,郁闷!
哪位能帮下小弟,告诉我一个简单的例子,比如可以结合servlet或者struts控制器等,有打开登录授权及返回后获取微博帐号基本信息的功能就行。先谢谢各位了!

解决方案 »

  1.   

    写在main里是为了可以直接执行让用户看到效果。
    这个demo的确只能在服务端执行,但是并不是说这个提供的接口只能在服务端执行。
    事实上,你可以先简单的把main封装成一个方法,然后接收两个参数:username和password。再写一个简单的网页,让用户填上用户名和密码,然后提交到服务端调用你写好的方法,成功后跳转页面就好,并不难的。
      

  2.   

    之所以使用OAuth标准协议就是要控制第三方网站的授权吧,如果自己做一个登录页面,那么用户的微博帐号密码就都能获得了,再使用OAuth就没什么意义了吧,不知道我理解的对不对
      

  3.   

    http://wenku.baidu.com/view/c8bd2f619b6648d7c1c74677.html里面有对应的第三方登录java代码,网上也有很大成功的案例
      

  4.   

    没找着啊,你跟我说下是哪个好吗?网上大多都是根据下载下来的SDK中的代码写的,都差不多
      

  5.   

    您有这方面的开发经验吧,能跟我说说大体的思路吗?如果通过servlet或者struts action怎么请求、怎么取值?
      

  6.   

    嗯,以前做过相关开发,这个值事实上是取不到的。
    流程大概是这样,在自己的网站上有一个比如"用QQ登录"的超链接,点击后跳转到QQ开放登录端口的指定页。跳转过程中同时发送开放接口指定的相关参数参数,比如网站通行证,结果成功返回页面(这个对应着自己网站的页面),失败返回页面(这个也对应着自己网站的页面)等。这样,整个验证过程与自己的网站无关,只有结果与自己的网站相关。
      

  7.   

    谢谢大家的参与支持!问题终于解决了。。凡事就是不能偷懒,还是静下心来仔细研究了下新浪微博开放平台提供的源码,终于弄明白了整个过程。总结下经验:
    新浪微博开放平台网站对于微博登录介绍的挺简单(当然对于高手来说这些信息已经够了),但是这些信息都是切中了要点。如果有通过java使用http协议的开发经验,结合网站介绍,再读一下接口调用源码,很快整个过程就会了如指掌。可惜我当初就是想偷懒而且又没静下心来仔细研究代码,导致我浪费了这么多时间。
    整个过程解决了如下问题:
    1、代码不支持jdk5.0。代码中使用了string.isEmpty()这个方法,jdk5.0中没有此方法,改下代码实现同等功能即可。
    2、打包src资源包下的代码。下载的代码中src资源包下的代码是提供API调用的,因为不想在项目中添加这些源码,于是将这些代码打包,并且在项目中引入。
    3、关于登录授权及返回信息处理。在项目中写了一个servlet通过response重定向到配置文件中的登录授权地址(地址中已经根据配置指定好了相关参数);用户登录授权后回调地址同样是一个servlet(这个servlet一定要跟在微博开放平台中配置的一样),在该servlet中首先通过请求参数code获取值,然后将获取的值进行组装通过java调用http协议获取access_token,再根据获取的access_token调用相关的接口获取信息(这些步骤在下载的代码中都有,稍作修改既可使用)
    这就是我总结的经验,希望大家多多交流,另外欢迎大家光临我的小站  好望角 www.hopercorner.com ,微博登录功能目前正处于微博开放平台审核过程中,已经通过了测试微博帐号的测试,审核通过后大家既可通过微博帐号登录。
      

  8.   

    兄弟,我现在也想在自己的一个项目中用新浪微博来登录自己的系统,下载了java版的weibo4j-oauth2,将里面src下的类和properties文件放在自己工程下,然后在新浪微博平台下创建了“网页”应用,将生成的key 和SERCRET 写在了Config.properties中,在项目登录jsp中相应的加上<html xmlns:wb="http://open.weibo.com/wb">
    <script src="http://tjs.sjs.sinajs.cn/open/api/js/wb.js?appkey=3814830281" type="text/javascript" charset="utf-8"></script>
    <wb:login-button type="3,2">登录按钮</wb:login-button> 
    但是项目运行后点击登录按钮没反应。不知道哪里不对。