新浪微博 & QQ登录 登陆授权 V1.0
近期有接触到微博方便的登陆以及分享
所以在此整理下,发给文档,做伸手党很久了,慢慢的付出些。
希望有被困恼的同学可以借鉴。
文章有不妥之处,还望批评之处。
源码结构
微博在官方微博V3.0 之后支持了一个便捷的授权方式 SSO 登陆
相对于Oauth 2.0a授权登陆,SSO无疑简单方便的多。具体参见官方文档。
说明下几个事项:
- 对于SSO 有一点注意点就是 它的包名路径最好与官方文档一致,避免不必要的异常。
- com.sina.weibo下的源码,部分是官方文档提取,部分是网上下载的。
- 启动SSO授权的代码为
private void initSinaOauth() { ToastUtil.showToast(context, "sina_oauth_start"); sinaWeibo = Weibo.getInstance(S_CONSUMER_KEY, S_CALLBACK); sinaSSO = new SsoHandler(MainActivity.this, sinaWeibo); sinaSSO.authorize(new SinaAuthListener(context, true)); }
sina大概就是这样,对于Api的使用也都封装好的。路径在 com.sina.weibo.api 都是直接使用。
QQ登录就直接使用官方SDK。对于源码中的 com.tencent.weibo 暂时还未用到,是腾讯微博用的。
// 准备QQ授权 private void initQQOauth() { ToastUtil.showToast(context, "qq_oauth_start"); tencentQQ = Tencent.createInstance(T_CONSUMER_KEY, context.getApplicationContext()); tencentQQ.login(MainActivity.this, T_TYPE, new QQAuthListener(context,true)); }
都是封装好的方法。用起来方便。
QQ登录有点比较坑爹。 虽然也支持类型微博直接调用官方应用授权的功能,但是在未安装QQ空间的设备是直接跳到浏览器授权,重点是有的设备竟然提示不支持此设备。所以,可能出现无法授权的情况。这种情况就得自己手动写个WEBVIEW去授权。。。还是比较麻烦的。
还有一点就是必须在配置文件生命appId
- 其他
- 微信下个版本增加,微信的麻烦就是需要对签名文件进行校验。
- 下图路径的一些类。是对官方文档提供的类进行一些扩展。其实也就是统一处理异常之类的。
- 下载完源码,务必把com.teewoo.share.interfaces.WeiboValue.java 文件中的key 都填了。
- 联系邮箱zhangnianxiang@gmail.com
更新于 2013-05-20