概述

微博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说明文档相关推荐

  1. 全新 安卓项目源码 校园跑腿帮APP android stu dio项目可调试 附说明文档

    全新 安卓项目源码 校园跑腿帮APP android stu dio项目可调试 附说明文档,录屏 基于Bmob后端云,material design风格设计,支持登录注册,任务发布,修改,上拉加载,下 ...

  2. android 微博 4.1sdk,Android新浪微博SDK分享功能接入

    集成前准备 1. 申请APP_KEY 第三方需要接入微博SDK必须在微博开放平台上对应用进行注册,并获取APP_KEY,添加 应用的授权回调页面(Redirect URI) 2. 注册应用程序的包名和 ...

  3. android 最新功能介绍,Android Studio 常用功能介绍

    界面介绍 讲解1 这个界面,显示了我们使用 Android Studio时经常接触到的功能面板. Project 面板. 用于浏览项目文件. Project 面板会显示当前的所有的 module .  ...

  4. android 微博 4.1sdk,android使用新浪微博最新SDK4.1进行第三方授权登录

    android使用新浪微博最新SDK进行第三方授权登录 工具:android-studio 新浪SDK版本:4.1 1Demo参考 下载官方SDK:https://github.com/sinawei ...

  5. android拍照功能编程,android实现手机App实现拍照功能示例

    实现手机App实现拍照功能结果如下 第一步: activity_takephoto.xml布局用SurfaceView xmlns:tools="http://schemas.android ...

  6. android手电筒功能吗,android通过led实现手电筒功能

    本文实例为大家分享了android通过led实现手电筒功能的具体代码,供大家参考,具体内容如下 第一步添加权限: 第二步实现手电筒工具类: import android.hardware.Camera ...

  7. android签到功能开发,Android简单实现app每月签到功能

    本文实例为大家分享了Android实现app每月签到功能的具体代码,供大家参考,具体内容如下 先上一张效果图: 其中这些签到的效果图是在网上找的,然后重要用到的控件就是 GridvVew 了, 代码很 ...

  8. android签到功能开发,Android应用开发之Android简单实现app每月签到功能

    本文将带你了解Android应用开发Android简单实现app每月签到功能,希望本文对大家学Android有所帮助. 本文实例为大家分享了Android实现app每月签到功能的具体代码,供大家参考, ...

  9. android增删功能代码,Android Studio开发实战 之 增删改查

    增删改查是一个应用最基础的操作,增删改查的流程走通了,下面的路程也就顺利多了.现在使用Android Studio开发一个简单的应用,该应用就实现了增删改查的操作,看似简单,到底简不简单呢,下面开始操 ...

最新文章

  1. Azure SQL 数据库引入了新的服务级别
  2. 一篇文章让你轻松搞定SpringBoot和SpringCloud之间的版本选择!!!
  3. 使用nginx部署简单的前端项目,nginx.conf配置
  4. 疯子的算法总结(六) 复杂排序算法 ② 桶排序
  5. mysql连接服务密码_Hydra爆破常见服务密码
  6. 共享马扎的火爆,原来是一场营销!
  7. 大数据、数据挖掘、机器学习与模式识别的关系
  8. 实例分割模型Mask R-CNN详解——从R-CNN,Fast R-CNN,Faster R-CNN再到Mask R-CNN
  9. Gmail最新功能实测:离线版上线增加手势(多图)
  10. 卡巴斯基7.0简体中文下载【有2010年的授权文件】
  11. pp助手苹果版_吃药提醒助手ios版下载-吃药提醒助手苹果版下载v1.0
  12. 安卓玩java模拟器_安卓系统智能手机玩JAVA游戏!JAVA模拟器让你痛快地玩!
  13. 程序员必读的十四本经典书籍
  14. linux cups用户名密码,Linux下使用CUPS提供打印服务
  15. 兵法三十六计第一计-瞒天过海。
  16. PS轻松打造低多边形风格图像
  17. 关于大数据,你应该知道的50个专业术语
  18. matlab截取5到10秒音频,如何截取音频中的一段
  19. 微信CRM系统对客户关系管理有什么好处?
  20. python 日历热力图_Python绘制日历图和热力图

热门文章

  1. 易语言大漠多线程启动线程传递参数自定义数据
  2. Adobe Bridge是干什么的?Adobe Bridge使用教程
  3. 处理Centos5.5 x64 配置NFS服务过程中nfsnobody用户造成的问题
  4. 老子云3D产品及服务全介绍,一张图告诉你如何选!
  5. 小小感想▪所有的沟通都是在消耗情绪
  6. 纯css导航下拉_纯CSS标签导航
  7. 台式计算机机箱的作用,电脑机箱的作用有哪些 机箱的用途【详解】
  8. 设计模式之禅——门面模式
  9. 顶会杰出论文作者,数千星开源作者,这十位学子荣获第二届字节跳动奖学金...
  10. Web 动画原则及技巧浅析