新浪微博客户端源代码-新浪微博OAuth2.0接口

今天在api.weibo.com上看到新浪微博的API推出了2.0版本,其中最大的不同是采用了OAuth2.0授权机制,而且据说是在不久的将来(还没有时间表),新浪将不支持OAuth1.0,着时把我吓了一把。本着被修改的原则,我计划将我的应用也移到OAuth2.0,结果从昨天晚上,到今天上午,花了很长的时间读新的API,越读越失望,现将其中的OAuth2.0授权认证机制开发心得贴出来,供大伙参考。

第一步:修改Config.properties的配置信息.打开这个文件,将你的信息填入,具体如下:

client_ID = (你申请应用的appkey)                      
    client_SERCRET =(你申请应用的app_secret)

redirect_URI =(回调地址,跟网上配置的一致,本人比较穷,而且用的是客户端,所以这里就为空)
    baseURL =https://api.weibo.com/2/
    accessTokenURL =https://api.weibo.com/2/oauth2/access_token
    authorizeURL =https://api.weibo.com/2/oauth2/authorize

第二步打开example目录下的文件OAuth4Code.java,code如下图

新浪微博客户端源代码-新浪微博OAuth2.0接口_第1张图片

 

第三步:运行此文件,浏览器会自动打开一个网页,如下图.在里面输入你的账号、密码,点击“登陆并授权”

新浪微博客户端源代码-新浪微博OAuth2.0接口_第2张图片

    第四步:登陆后,浏览器会自动跳转到回调页面(由于我没有自己的网站,没有填回调页面,所以浏览器会打开一个第三方授权错误的界面),把地址栏中的“https://api.weibo.com/2/oauth2/authorize?code=XXXXX”中的XXX  copy出来,这个是你要的东东。填写到下图的Eclipse的控制台中,然后回车.

新浪微博客户端源代码-新浪微博OAuth2.0接口_第3张图片

第五步:将获取到的"access_token"(在控制台输出中查找)填入到ShowUser.java文件中,进行如下操作,然后运行程序,将返回你的个人信息。

String access_token = args[0];将args[0]修改为刚才取得的"access_token";

String uid = args[1]; 将args[1]修改为刚才授权用户的ID号;

新浪微博客户端源代码-新浪微博OAuth2.0接口_第4张图片

新浪微博客户端源代码-新浪微博OAuth2.0接口_第5张图片

 

总结:OAuth2.0的桌面应用非常不友好,以前在1.0中用PIN码授权时,至少用户可以将PIN码从授权页面填入程序的页面,现在的CODE放在地址栏中,只有专业人士才会用,希望SINA在关闭1.0前,能改进现有的验证方式,让用户的验证授权更加友好。

OAuth2.0 API地址:http://open.weibo.com/wiki/Oauth2

你可能感兴趣的:(新浪微博,浏览器,api,Access,token,redirect)