基于Android SDK腾讯微博授权认证实现
基于Android SDK腾讯微博授权认证实现
2013年12月8日腾讯微博SDK使用研究
前言:小巫之前使用了新浪微博Android SDK开发了一个仿制官方新浪微博客户端的实现,现在我有了新的需求就是集成腾讯微博来开发一款应用,所以我就去腾讯微博开放平台(http://dev.t.qq.com/)取经了。创建了一个无线应用,拿到了自己的appkey和appScret。然后下载了Android SDK,我下了两个不同版本的SDK,一个是V1.2,另一个是最新的V2.0,童鞋们可以到这里下载(http://wiki.open.t.qq.com/index.php/SDK下载)。其实拿到SDK,里面就有开发文档和应用示例,import到项目当中去,研究一下就知道如何进行授权了。关于新浪微博和腾讯微博的授权方式,都是类似的,目前的版本都已经集成了SSO授权方式,什么是SSO授权方式不知道同学们有没有概念,就是快速授权,只要你安装了官方微博客户端,你只要使用这种授权方式会跳转到直接授权界面,而无需用户进行任何输入,就可以直接授权访问微博数据。
下面我就把Android SDK V1.2和Android SDK V2.0的授权认证的实现给大伙呈现一下。
当然你要把Android_SDK_v1.2.jar导入到你的项目当中去
步骤:1.声明微博授权类
2.实例化微博授权对象
3. 返回结果处理
Android SDK V2.0的授权认证和SSO授权认证实现同样要导入必须的jar包,将Android_SDK.jar、Android_SDK_component.jar和commons-httpclient-3.0.0.jar复制到libs文件夹中即可。
1. 腾讯微博授权方式
授权界面效果:

2. 腾讯微博SSO授权方式
SSO授权效果图

以上就是新旧版本SDK的授权实现啦,只要授权搞定了,开发者们就可以轻松获取微博数据了,至于怎么实现你们看着办吧。
2013年12月8日腾讯微博SDK使用研究
前言:小巫之前使用了新浪微博Android SDK开发了一个仿制官方新浪微博客户端的实现,现在我有了新的需求就是集成腾讯微博来开发一款应用,所以我就去腾讯微博开放平台(http://dev.t.qq.com/)取经了。创建了一个无线应用,拿到了自己的appkey和appScret。然后下载了Android SDK,我下了两个不同版本的SDK,一个是V1.2,另一个是最新的V2.0,童鞋们可以到这里下载(http://wiki.open.t.qq.com/index.php/SDK下载)。其实拿到SDK,里面就有开发文档和应用示例,import到项目当中去,研究一下就知道如何进行授权了。关于新浪微博和腾讯微博的授权方式,都是类似的,目前的版本都已经集成了SSO授权方式,什么是SSO授权方式不知道同学们有没有概念,就是快速授权,只要你安装了官方微博客户端,你只要使用这种授权方式会跳转到直接授权界面,而无需用户进行任何输入,就可以直接授权访问微博数据。
下面我就把Android SDK V1.2和Android SDK V2.0的授权认证的实现给大伙呈现一下。
当然你要把Android_SDK_v1.2.jar导入到你的项目当中去
步骤:1.声明微博授权类
// 腾讯微博授权类 private OAuthV2 oAuthV2;
2.实例化微博授权对象
/** Android SDK v1.2授权方式 **/ // 腾讯微博授权 oAuthV2 = new OAuthV2(TengXunConstants.redirectUri); oAuthV2.setClientId(TengXunConstants.clientId); oAuthV2.setClientSecret(TengXunConstants.clientSecret); // 关闭OAuthV2Client中默认开启QHttpClient. OAuthV2Client.getQHttpClient().shutdownConnection(); intent = new Intent(mTabPager, OAuthV2AuthorizeWebView.class); intent.putExtra("oauth", oAuthV2); startActivityForResult(intent, 2);
package com.wwj.weiboClient.model;/** * 腾讯微博常量 * * @author wwj * */public interface TengXunConstants { // !!!请根据您的实际情况修改!!! 认证成功后浏览器会被重定向到这个url中 必须与注册时填写的一致 String redirectUri = "http://blog.csdn.net/wwj_748"; // !!!请根据您的实际情况修改!!! 换为您为自己的应用申请到的APP KEY String clientId = "801453361"; // !!!请根据您的实际情况修改!!! 换为您为自己的应用申请到的APP SECRET String clientSecret = "522653bcd4d494011750ada52b7c758b";}
3. 返回结果处理
@Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 2) { if (resultCode == OAuthV2AuthorizeWebView.RESULT_CODE) { oAuthV2 = (OAuthV2) data.getExtras().getSerializable("oauth"); if (oAuthV2.getStatus() == 0) { Toast.makeText(mTabPager, "登录成功", Toast.LENGTH_SHORT) .show(); } } } super.onActivityResult(requestCode, resultCode, data); }
Android SDK V2.0的授权认证和SSO授权认证实现同样要导入必须的jar包,将Android_SDK.jar、Android_SDK_component.jar和commons-httpclient-3.0.0.jar复制到libs文件夹中即可。
1. 腾讯微博授权方式
/** Android SDK V2.0 授权方式 **/ intent = new Intent(mTabPager, Authorize.class); startActivity(intent);
授权界面效果:

2. 腾讯微博SSO授权方式
/** Android SDK v2.0 SSO授权方式 **/ long appid = Long.valueOf(Util.getConfig().getProperty("APP_KEY")); String app_secret = Util.getConfig().getProperty("APP_KEY_SEC"); tengXunSSOAuth(appid, app_secret);
/** * * 腾讯微博Android SDK V2.0 SSO授权方式 * * @unused 未使用 * @param appid * @param app_secret */ private void tengXunSSOAuth(long appid, String app_secret) { final Context context = getActivity().getApplicationContext(); AuthHelper.register(context, appid, app_secret, new OnAuthListener() { @Override public void onWeiBoNotInstalled() { Toast.makeText(context, "onWeiBoNotInstalled", 1000).show(); Intent i = new Intent(context, Authorize.class); startActivity(i); } @Override public void onWeiboVersionMisMatch() { Toast.makeText(context, "onWeiboVersionMisMatch", 1000).show(); Intent i = new Intent(context, Authorize.class); startActivity(i); } @Override public void onAuthFail(int result, String err) { Toast.makeText(context, "result : " + result, 1000).show(); } @Override public void onAuthPassed(String name, WeiboToken token) { Toast.makeText(context, "passed", 1000).show(); Util.saveSharePersistent(context, "ACCESS_TOKEN", token.accessToken); Util.saveSharePersistent(context, "EXPIRES_IN", String.valueOf(token.expiresIn)); Util.saveSharePersistent(context, "OPEN_ID", token.openID); Util.saveSharePersistent(context, "OPEN_KEY", token.omasKey); Util.saveSharePersistent(context, "REFRESH_TOKEN", ""); Util.saveSharePersistent(context, "NAME", name); Util.saveSharePersistent(context, "NICK", name); Util.saveSharePersistent(context, "CLIENT_ID", Util.getConfig() .getProperty("APP_KEY")); Util.saveSharePersistent(context, "AUTHORIZETIME", String.valueOf(System.currentTimeMillis() / 1000l)); } }); AuthHelper.auth(mTabPager, ""); }
SSO授权效果图

以上就是新旧版本SDK的授权实现啦,只要授权搞定了,开发者们就可以轻松获取微博数据了,至于怎么实现你们看着办吧。
报名学习加微信/QQ 1602007,关注《东方联盟网》微信公众号
>更多相关文章
首页推荐
佛山市东联科技有限公司一直秉承“一切以用户价值为依归
- 01-11全球最受赞誉公司揭晓:苹果连续九年第一
- 12-09罗伯特·莫里斯:让黑客真正变黑
- 12-09谁闯入了中国网络?揭秘美国绝密黑客小组TA
- 12-09警示:iOS6 惊现“闪退”BUG
- 03-08消息称微软开发内部AI推理模型,或将成为Op
- 03-08美国法院驳回马斯克请求,未阻止OpenAI转型
- 03-08饿了么成立即时配送算法专家委员会 持续全局
- 03-08长安汽车:预计今年底长安飞行汽车将完成试
- 03-08谷歌推出虚拟试穿、AR美妆新功能
相关文章
24小时热门资讯
热门推荐
最新资讯
操作系统
黑客防御