android 微博功能实现,Android SDK说明文档
概述
微博Android平台SDK为第三方微博应用提供了文档易用的微博API调用服务,使第三方客户端无需了解复杂的验证,API调用过程。并可以实现分享到微博的功能,可以分享文字,或者多媒体信息到内置的分享页面,并发送到微博。
名词解释
Consumer_key分配给每个第三方应用的app key。用于鉴权身份,显示来源等功能。
OAuth2/access_token|oauth2/access_token生成请求request Token的secret,与consumer key一起分配。
Oauth_token服务器根据app key和时间,callback_url等哈希出的token值,用于获取oauth verifier。
Oauth_token_secret与oauth token一起使用,用于获取oauth verifier。
Oauth_verifier通过oauth页面返回的verifier,用于最终获取access token。
Access_token表示用户身份的token,用于微博API的调用。
整体架构
主要类说明:
1、Weibo: 微博API 接口类,对外提供weibo api的调用,包括登录,API调用,微博分享等功能。
2、AsyncWeiboRunner:微博api异步执行类,封装了回调接口,通过创建线程来调用Weibo中的接口方法。
3、Utility:互联网工具类,包括接口请求GET/POST封装,BASE64等encode,decode方法。
4、WeiboException:微博异常封装类,封装了微博的各个异常。
接口说明
Class com.weibo.net.Weibo:
获取request token
接口名称:public RequestToken getRequestToken(Context context, String key, String secret, String callback_url);
参数名称作用
context传递应用上下文环境,用于获取当前网络状态,弹出对话框等。
key分配给第三方客户端的app key
secret分配给第三方客户端的app secret
callback_url用于oauth authorize页面回调的url
返回结果:RequestToken:RequestToken封装request tokens属性类,继承自Token,包含oauth_token, oauth_token_secret多个属性。
获取access token
接口名称:public AccessToken generateAcessToken(Context context, RequestToken requestToken)
参数名称作用
context传递应用上下文环境,用于获取当前网络状态,弹出对话框等。
RequestToken用于存取oauth token和oauth secret的token类
返回结果:AccessToken: AccessToken封装access tokens属性类,继承自Token,包含access_token, oauth_token_secret多个属性。
获取Oauth2.0 的access token
接口名称:Oauth2AccessToken getOauth2AccessToken(Context context, String app_key,String app_secret, String usrname, String password)
参数名称作用
context传递应用上下文环境,用于获取当前网络状态,弹出对话框等。
App_keyClient_id,第三方应用的appkey
App_secretClient_secret,第三方应用的appsecret
Username微博用户名称
password微博用户密码
返回结果:Oauth2AccessToken: Oauth2AccessToken封装tokens属性类,继承自Token,包含access_token, oauth_token_secret多个属性。
微博API请求
接口名称:public String request(Context context, String url, WeiboParameters params, String httpMethod)
参数名称作用
context传递应用上下文环境,用于获取当前网络状态,弹出对话框等。
params封装每个微博API请求的参数对到实体类WeiboParameters中
httpMthodAPI请求方式 (“GET”, “POST”, “DELETE”)
返回结果:String:返回所请求的服务器所返回的xml/json数据。
分享到微博
接口名称:public boolean share2weibo(Activity activity, String accessToken, String tokenSecret, String content, String picPath)
参数名称作用
activityActivity引用,用于调起新的分享activity或者分享dialog。
accessToken代表用户身份的access token。
tokenSecretoauth_token_secret,用户获取acessToken,鉴权用户身份等。
content要分享的微博内容,限140个字。
picPath分享到微博的图片路径(图片大小<1M)
返回结果:Boolean: true分享成功,false 分享失败。
通过XAuth认证获取用户身份
接口名称:public AccessToken getXauthAccessToken(Context context, String app_key, String app_secret, String usrname, String password)
参数名称作用
context传递应用上下文环境,用于获取当前网络状态,弹出对话框等。
App_key分配给第三方客户端的consumer key。
App_secret分配给第三方客户端的consumer secret。
Username微博用户名称
password微博用户密码
返回结果:AccessToken: AccessToken封装access tokens属性类,继承自Token,包含access_token, oauth_token_secret多个属性。
通过Oauth2.0隐式授权认获取AccessToken
接口名称:void authorize(Activity activity, final WeiboDialogListener listener)
参数名称作用
activity传递应用上下文环境,用于获取当前网络状态,弹出对话框等。
listener授权对话框回调接口。处理授权完成、授权失败、授权取消等事件。
实例分析
登录
第一步In AuthorizeActivity:
获取微博实体类,传入app key, secret,以及callback_url。
第二步In AuthorizeActivity:
用获取到的oauth token , oauth_token_secret访问open api authorize页面。
第三步 In TestActivity:
获取到callback的oauth_verifier,并根据它获取accessToken,完成登录。
访问微博API
第一步 In TestActivity:
调用Weibo实体类中request进行简单的微博API访问,前提是accessToken已经获取到。
分享到微博
第一步 in TestActivity:
得到weibo实体类,传入我们需要分享的文字”abc”, 以及要分享的图片路径”picPath”。
第二步 in TestActivity:
调用微博中share2weibo方法,传入activity引用,调起我们的分享页面。
异步调用AsyncWeiboRunner中API方法
第一步In ShareActvity:
调用类实现一部回调RequestLisener接口。
第二步In ShareActvity:
调用异步upload接口,实现发微博功能。
第三步In ShareActvity:
实现回调,对发表成功onComplete,以及发表失败onError的情况进行处理。
通过Oauth2.0隐式授权获得AccessToken
第一步 In AuthorizeActivity:
调用setRedirectUrl方法设置应用回调页。
对于Mobile客户端应用来说,是不存在Server的,故此处的应用回调页地址只要与新浪微博开放平台->我的应用->应用信息->高级应用->授权设置->应用回调页中的url地址保持一致就可以了,如图所示:
第二步In AuthorizeActivity:
实现WeiboDialogListener接口。授权成功后可在onComplete函数中获得accesstoken信息。具体如何保存、使用accesstoken信息由开发者自行处理。
第三步 In AuthorizeActivity:
调用authorize方法,弹出授权对话框,进行授权。授权成功后即可获得accestoken。
SDK使用说明
1、将SDK的工程项目导入到eclipse中
在eclipse中选择File->Import->General->Existing Projects into Workspace。注意:SDK工程的编码格式为UTF-8。如图所示:
2、在需要集成本SDK的工程项目中添加Library
右键 -> Properties -> Android。设置Library属性,如图所示:
3、Manifest文件中必须包含以下permission:
4、代码中将APP_KEY, APP_SECRET存放在Weibo类中,可以修改成其他传参方式设置
In Weibo
In TestActivity
5、SDK使用及修改必须遵守微博开发者协议,以及开源软件协议。
android 微博功能实现,Android SDK说明文档相关推荐
- 全新 安卓项目源码 校园跑腿帮APP android stu dio项目可调试 附说明文档
全新 安卓项目源码 校园跑腿帮APP android stu dio项目可调试 附说明文档,录屏 基于Bmob后端云,material design风格设计,支持登录注册,任务发布,修改,上拉加载,下 ...
- android 微博 4.1sdk,Android新浪微博SDK分享功能接入
集成前准备 1. 申请APP_KEY 第三方需要接入微博SDK必须在微博开放平台上对应用进行注册,并获取APP_KEY,添加 应用的授权回调页面(Redirect URI) 2. 注册应用程序的包名和 ...
- android 最新功能介绍,Android Studio 常用功能介绍
界面介绍 讲解1 这个界面,显示了我们使用 Android Studio时经常接触到的功能面板. Project 面板. 用于浏览项目文件. Project 面板会显示当前的所有的 module . ...
- android 微博 4.1sdk,android使用新浪微博最新SDK4.1进行第三方授权登录
android使用新浪微博最新SDK进行第三方授权登录 工具:android-studio 新浪SDK版本:4.1 1Demo参考 下载官方SDK:https://github.com/sinawei ...
- android拍照功能编程,android实现手机App实现拍照功能示例
实现手机App实现拍照功能结果如下 第一步: activity_takephoto.xml布局用SurfaceView xmlns:tools="http://schemas.android ...
- android手电筒功能吗,android通过led实现手电筒功能
本文实例为大家分享了android通过led实现手电筒功能的具体代码,供大家参考,具体内容如下 第一步添加权限: 第二步实现手电筒工具类: import android.hardware.Camera ...
- android签到功能开发,Android简单实现app每月签到功能
本文实例为大家分享了Android实现app每月签到功能的具体代码,供大家参考,具体内容如下 先上一张效果图: 其中这些签到的效果图是在网上找的,然后重要用到的控件就是 GridvVew 了, 代码很 ...
- android签到功能开发,Android应用开发之Android简单实现app每月签到功能
本文将带你了解Android应用开发Android简单实现app每月签到功能,希望本文对大家学Android有所帮助. 本文实例为大家分享了Android实现app每月签到功能的具体代码,供大家参考, ...
- android增删功能代码,Android Studio开发实战 之 增删改查
增删改查是一个应用最基础的操作,增删改查的流程走通了,下面的路程也就顺利多了.现在使用Android Studio开发一个简单的应用,该应用就实现了增删改查的操作,看似简单,到底简不简单呢,下面开始操 ...
最新文章
- Azure SQL 数据库引入了新的服务级别
- 一篇文章让你轻松搞定SpringBoot和SpringCloud之间的版本选择!!!
- 使用nginx部署简单的前端项目,nginx.conf配置
- 疯子的算法总结(六) 复杂排序算法 ② 桶排序
- mysql连接服务密码_Hydra爆破常见服务密码
- 共享马扎的火爆,原来是一场营销!
- 大数据、数据挖掘、机器学习与模式识别的关系
- 实例分割模型Mask R-CNN详解——从R-CNN,Fast R-CNN,Faster R-CNN再到Mask R-CNN
- Gmail最新功能实测:离线版上线增加手势(多图)
- 卡巴斯基7.0简体中文下载【有2010年的授权文件】
- pp助手苹果版_吃药提醒助手ios版下载-吃药提醒助手苹果版下载v1.0
- 安卓玩java模拟器_安卓系统智能手机玩JAVA游戏!JAVA模拟器让你痛快地玩!
- 程序员必读的十四本经典书籍
- linux cups用户名密码,Linux下使用CUPS提供打印服务
- 兵法三十六计第一计-瞒天过海。
- PS轻松打造低多边形风格图像
- 关于大数据,你应该知道的50个专业术语
- matlab截取5到10秒音频,如何截取音频中的一段
- 微信CRM系统对客户关系管理有什么好处?
- python 日历热力图_Python绘制日历图和热力图
热门文章
- 易语言大漠多线程启动线程传递参数自定义数据
- Adobe Bridge是干什么的?Adobe Bridge使用教程
- 处理Centos5.5 x64 配置NFS服务过程中nfsnobody用户造成的问题
- 老子云3D产品及服务全介绍,一张图告诉你如何选!
- 小小感想▪所有的沟通都是在消耗情绪
- 纯css导航下拉_纯CSS标签导航
- 台式计算机机箱的作用,电脑机箱的作用有哪些 机箱的用途【详解】
- 设计模式之禅——门面模式
- 顶会杰出论文作者,数千星开源作者,这十位学子荣获第二届字节跳动奖学金...
- Web 动画原则及技巧浅析