Android 新浪微博XAuth方式授权与发送
来源:互联网 发布:海康威视的域名设置 编辑:程序博客网 时间:2024/04/28 04:51
新浪微博授权与发送
开发新浪微博 首先须要使用官方提供的API接口weibo4android.jar
下载地址:http://download.csdn.net/source/3399114
官方下载地址:http://code.google.com/p/weibo4j/downloads/list
首先须要在项目中引入新浪微博官方的API jar包
如图所示:
最近有朋友说他申请的KEY无法使用 原因是XAuth申请KEY是需求的 ,因为我的KEY是用公司提供的所以已经满足XAuth的申请条件所以可以使用。请大家仔细看看下面官方提供的内容。
申请的条件:http://open.weibo.com/wiki/XAuth
xAuth申请需求
因为xAuth依然会获得用户明文密码,xAuth实行有限开放。开发初期建议使用桌面客户端使用OAuth,移动客户端使用WAP 1.0或者2.0版页面授权。当用户数量达到一定规模后再使用xAuth提升用户体验。
xAuth申请条件:
应用分类属于桌面客户端、手机客户端。
应用本身已经通过开放平台文案、广场审核,并在广场上展示超过15天。应用使用人数在3000以上。
应用本身功能与新浪微博关联紧密。
任何一个开发者都需要申请新浪微博的ConsumerKey 和 ConsumerSecret
申请地址:http://open.weibo.com/devel.php
点击创建应用根据提示一步一步来 这里笔者就不详细说明了
下面是代码部分请认真阅读
//consumerKey 与 consumerSecret 须要自己去官方申请 System.setProperty("weibo4j.oauth.consumerKey","XXXX"); System.setProperty("weibo4j.oauth.consumerSecret","XXXX");Weibo weibo = new Weibo();String userId = "XXXX";//新浪微博的帐号String passWord = "XXXX";//新浪微博的密码try { weibo.getXAuthAccessToken(userId, passWord,"client_auth"); weibo.updateStatus("发表一条新浪微博");} catch (WeiboException e) { e.printStackTrace(); if(e.getStatusCode() == 400) { //内容重复,新浪微博不允许重复的内容发布 如果内容重复会在这里抛出异常 }else if (e.getStatusCode() == 403) { //帐号密码错误 } return; }
帐号密码授权只需要一次
大功告成 这样就授权成功并且发送了一条微薄 不过这样还不是完美 因为如果每次都用同样的帐号发送微薄的话 没有必要每次都授权 授权成功一次后 就可以把Token 与 TokenSecret 存下来 以后在发送微薄只须要把Token 与 TokenSecret 读出来就可以直接发。
发表成功
储存Token 与 TokenSecret
通过帐号密码只需要授权一次
try { AccessToken accessToken = weibo.getXAuthAccessToke(userId,passWord,"client_auth"); String Token = accessToken.getToken(); String TokenSecret = accessToken.getTokenSecret(); //在这里拿到了 Token 与 TokenSecret 可以把它存在Shared Preferences 中以后每次独取出来就可以用 weibo.updateStatus("将Token 与 TokenSecret 存入 Shared Preferences "); } catch (WeiboException e) {}
读取Token 与 TokenSecret
读取到之前授权的KEY
try { //Token与TokenSecret 可以在Shared Preferences 中取得之前存的内容 String Token = null; String TokenSecret = null; weibo.setOAuthAccessToken(Token, TokenSecret); //这样就不用每次都通过帐号密码获取 AccessToken了weibo.updateStatus("在Shared Preferences 中取得Token与TokenSecret"); } catch (WeiboException e) {}
微薄的异常类WeiboException
我们使用API接口 出现的异常WeiboException会帮我们捕获下来比如
帐号密码错误:e.getStatusCode() = 403
重复发送微薄:e.getStatusCode() = 400
等等,代码实现的话我们可以在底层把这些异常throws 到上层,在上面去处理这些异常
下面这个链接是新浪官方提供的API错误代码 大家可以根据须要仔细阅读
http://open.weibo.com/wiki/index.php/Help/error
- Android 新浪微博XAuth方式授权与发送
- Android 新浪微博XAuth方式授权与发送
- XAuth——Android客户端授权认证
- Android新浪微博OAuth授权认证
- Android 使用新浪微博SSO授权
- 使用Android授权新浪微博实例
- Android新浪微博之登陆授权
- Android 新浪微博 授权失败 21337
- 新浪微博授权
- 新浪微博授权
- 新浪微博OAuth2授权
- IOS-新浪微博授权
- IOS-新浪微博授权
- 新浪微博授权步骤
- 新浪微博授权demo
- 新浪微博授权登录
- 新浪微博授权登录
- 新浪微博Android客户端SSO授权认证缺陷
- MFC显示问题
- 在工作中积累
- wince下Ras拨号
- wpa_supplicant 初始化流程分析
- fedora15如何安装王笔输入法
- Android 新浪微博XAuth方式授权与发送
- windows 7 下安装Oracle 9i 解决方法
- wpa_supplicant软件架构分析
- J2EE学习笔记三:EJB基础概念和知识 收藏
- posix 操作系统串口编程指南
- 如何解决:新建Android程序的时候发生了找不到 /android-sdk-windows/tools/lib/proguard.cfg文件 的错误
- Loadrunner关联设置
- C语言初学札记(1)
- 甜美少女造型录 春季穿出动人活力