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

原文地址 http://blog.sina.com.cn/s/blog_468bee0b0100vprz.html
引用

今天在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如下图


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


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


第五步:将获取到的"access_token"(在控制台输出中查找)填入到ShowUser.java文件中,进行如下操作,然后运行程序,将返回你的个人信息。
String access_token = args[0];将args[0]修改为刚才取得的"access_token";
String uid = args[1]; 将args[1]修改为刚才授权用户的ID号;




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


OAuth很不爽,不如原来的方便,新浪在折腾啥。

你可能感兴趣的:(OAuth2.0)