新浪微博开发(六)封装一个OauthUtils类
2012-04-23 18:19
337 查看
为了向Oauth类提供各种方法和参数,新建一个OauthUtils类,用来管理Oauth类或者其他类将会使用到的变量和方法。
/* * 这是一个工具类,封装了用于Oauth验证的各种参数和方法 * 其实这个类的结构非常简单,就是变量和变量对应的set和get方法 * 另外有添加了initSinaData()和initQQData()方法,用来给变量赋值,其实直接在定义变量的时候赋值,或者在构造函数中赋值都可以 */ package tianyi.sina; public class OauthUtils { // 这一组成员变量只对应了一组set和get方法 private String appKey;// 第三方应用的appkey,用于鉴权身份,显示来源 private String appSecret;// 生成请求request Token的secret,与consumer key一起分配。 private String request_token_url; private String authoriz_token_url; private String access_token_url; private String oauth_verifier;// 通过oauth页面返回的verifier,用于最终获取access token // 这一组成员变量除了set和get方法之外,还需要在clear()方法中进行清除 private String oauth_token_key; private String token_secret; private String access_token_key; private String access_secret; // ---------------------sina public static String sina_AppKey = "你懂得,这里要填一串数字"; public static String sina_AppSecret = "这里要填一大串数字加字母加符号的字符串"; // 新浪微博开放平台的request token获取接口地址:http://api.t.sina.com.cn/oauth/request_token private final String sina_Request_token_url = "http://api.t.sina.com.cn/oauth/request_token"; /* * 发送你获取的oauth_token,并且获得用户的授权,新浪微博开放平台的验证URL是http://api.t.sina.com.cn/oauth/authorize *要求必须以oauth作为参数,一般来说请求格式如下: * http://api.t.sina.com.cn/oauth/authorize?oauth_token=8ldIZyxQeVrFZXFOZH5tAwj6vzJYuLQpl0WUEYtWc */ private final String sina_Authoriz_token_url = "http://api.t.sina.com.cn/oauth/authorize"; // 新浪微博开放平台access token请求地址为:http://api.t.sina.com.cn/oauth/access_token private final String sina_Access_token_url = "http://api.t.sina.com.cn/oauth/access_token"; // --------------------qq public static final String qq_AppKey = "你懂得,这里要填一串数字"; public static String qq_AppSecret = "这里要填一大串数字加字母加符号的字符串"; private final String qq_Request_token_url = "https://open.t.qq.com/cgi-bin/request_token"; private final String qq_Authoriz_token_url = "https://open.t.qq.com/cgi-bin/authorize"; private final String qq_Access_token_url = "https://open.t.qq.com/cgi-bin/access_token"; // OauthUtils instance同步安全的静态实例对象 private static OauthUtils instance; /** * 初始化SINA认证信息 */ public void initSinaData() { setAppKey(sina_AppKey); setAppSecret(sina_AppSecret); setRequest_token_url(sina_Request_token_url); setAuthoriz_token_url(sina_Authoriz_token_url); setAccess_token_url(sina_Access_token_url); } /** * 初始化QQ认证信息 */ public void initQQData() { setAppKey(qq_AppKey); setAppSecret(qq_AppSecret); setRequest_token_url(qq_Request_token_url); setAuthoriz_token_url(qq_Authoriz_token_url); setAccess_token_url(qq_Access_token_url); } /** * 用来清除数据 */ public void clear() { this.oauth_token_key = null; this.token_secret = null; this.oauth_verifier = null; this.access_token_key = null; this.access_secret = null; } /* * 初始化或者获取已经存在的,同步安全的静态实例对象 * 这个函数保证了仅仅操作一个类的实例,而不是多个 */ public static synchronized OauthUtils getInstance() { if (instance == null) { instance = new OauthUtils(); } return instance; } public String getOauth_token_key() { return oauth_token_key; } public void setOauth_token_key(String oauth_token_key) { this.oauth_token_key = oauth_token_key; } public String getToken_secret() { return token_secret; } public void setToken_secret(String token_secret) { this.token_secret = token_secret; } public String getAccess_token_key() { return access_token_key; } public void setAccess_token_key(String access_token_key) { this.access_token_key = access_token_key; } public String getAccess_secret() { return access_secret; } public void setAccess_secret(String access_secret) { this.access_secret = access_secret; } public String getOauth_verifier() { return oauth_verifier; } public void setOauth_verifier(String oauth_verifier) { this.oauth_verifier = oauth_verifier; } public String getAppKey() { return appKey; } public void setAppKey(String appKey) { this.appKey = appKey; } public String getAppSecret() { return appSecret; } public void setAppSecret(String appSecret) { this.appSecret = appSecret; } public String getRequest_token_url() { return request_token_url; } public void setRequest_token_url(String request_token_url) { this.request_token_url = request_token_url; } public String getAuthoriz_token_url() { return authoriz_token_url; } public void setAuthoriz_token_url(String authoriz_token_url) { this.authoriz_token_url = authoriz_token_url; } public String getAccess_token_url() { return access_token_url; } public void setAccess_token_url(String access_token_url) { this.access_token_url = access_token_url; } }
相关文章推荐
- iOS开发封装篇-利用绘图封装一个可以涂鸦的view
- 安卓开发 封装 一个通用 的AlertDialog,亲测好用
- 汇总:基于SSM封装的一个迅速开发项目的底层框架集成项目
- ios开发 -新浪微博(4)封装item 添加分类
- iOS开发造轮子 | 优雅的封装一个倒计时button
- 【iOS7开发笔记】tableview之使用xib封装一个view的步骤
- iOS开发 - 用AVPlayer封装一个播放器
- 封装 RecyclerView, 打造为一个非常实用的开发工具 , 添加一些开发中常用的功能 , 例如下拉刷新, 分页, 自动加载 , 加载错误等等
- iOS开发之带你5分钟封装一个时间轴
- 封装一个简单好用的打印Log的工具类And快速开发系列 10个常用工具类
- 【iOS开发-50】利用创建新的类实现代码封装,从而不知不觉实践一个简单的MVC实验,附带个动画
- C 封装一个通用链表 和 一个简单字符串开发库
- iOS开发 - 用AVPlayer封装一个视频播放器
- 新浪微博应用开发的又一个解决方案
- Android 快速开发(一),封装一个 TopBarBaseActivity
- 二小时开发一个新浪微博@名人助手
- iOS开发 封装一个可以复用的弹窗父类(TSActionAlertView)
- 新浪微博应用开发的又一个解决方案
- iOS 开发之封装一个 sqlite3 数据库
- Android开发之Toast吐司的一个封装好的工具类。带有源代码java文件,