android 客户端 和 新浪微博如何打通的
微博SDK 为开发者 提供访问oauth2.0 授权认证,并集合sso登录功能,使用第三方应用可通过 新浪微博的 登录操作 提供微博分享功能,可直接通过微博客户端分享微博
名词解释
AppKey
分配给每个第三方应用的app key。用于鉴权身份,显示来源等功能。
AccessToken
表示用户身份的token,用于微博API的调用。
Expire in
过期时间,用于判断登录是否过期。
RedirectURI
应用回调页面,可在新浪微博开放平台->我的应用->应用信息->高级应用->授权设置->应用回调页中找到。
流程:
1:认证授权流程
使用带SSO 功能的SDK 进行登录,只需要调用登录接口 并完成回调方法对接受登录结果即可,SDK 中自动完成对是否进行SSO 登录的判断 若支持 则唤起 微博客户端,用客户端确认后返回 请求的应用,SDK 对请求结果进行解析,最后交给 第三方实现的回调方法进行处理,否则 SDK 将通过内置浏览器 请求浏览器 请求登录,用户输入用户名密码提交后,仍是SDK 解析请求 结果,并
2:微博分享流程
微博分享分两种场景:一是从第三方应用分享信息到微博;二是微博主动呼起第三方应用,并提取信息返回到微博客户端,进行分享。
2:微博分享流程
微博分享分两种场景:一是从第三方应用分享信息到微博;二是微博主动呼起第三方应用,并提取信息返回到微博客户端,进行分享。
北京新潮讯捷信息技术有限公司
微博Android平台SDK文档
北京新潮讯捷信息技术有限公司
编号:WEIBO_ANDROID_SDK
版本:WEIBO_ANDROID_SDK V2.1.0
修订记录
时间
文档版本
修订人
备注
2012/7/20
2.0.0
罗棚
初稿
2012/8/02
2.0.0
张晓伟
2013/4/17
2.1.0
唐庆杰
新增分享微博
北京新潮讯捷信息技术有限公司
目录
微博Android平台SDK文档 ....................................................................................................... 1
一、 概述 .................................................................................................................................................... 3
名词解释 ........................................................................................................................... 3
二、 流程 .................................................................................................................................................... 3
三、 集成步骤及示例分析(认证授权) ................................................................................................. 3
1. 通过Oauth2.0授权获得AccessToken .................................................................... 3
四、 集成步骤及示例分析(分享微博) ................................................................................................. 6
1. 初始化SDK ............................................................................................................... 6
2. 注册到新浪微博 ....................................................................................................... 7
3. 发送请求消息给微博 ............................................................................................... 7
4. 接收微博请求消息 ................................................................................................... 9
北京新潮讯捷信息技术有限公司
一、 概述
微博SDK为开发者提供访问oauth2.0授权认证,并集成sso登录功能,使第三方应用可通过新浪微博官方客户端快速通过Oauth2.0授权,并完成用户登录操作。提供微博分享功能,可直接通过微博客户端分享微博。
本文档将对使用SDK时所用的一些参数、接口进行说明,并分析一个简单示例,帮助第三方方便的使用SDK(一些不使用的接口只做简单说明)。
名词解释
AppKey
分配给每个第三方应用的app key。用于鉴权身份,显示来源等功能。
AccessToken
表示用户身份的token,用于微博API的调用。
Expire in
过期时间,用于判断登录是否过期。
RedirectURI
应用回调页面,可在新浪微博开放平台->我的应用->应用信息->高级应用->授权设置->应用回调页中找到。
二、 流程
1:认证授权流程
使用带SSO功能的SDK进行登录,只需调用登录接口,并完成回调方法对接收登录结果即可。SDK中自动完成对是否进行SSO登录的判断,若支持,则唤起微博客户端,用户确认后返回请求的应用,SDK对请求结果进行解析,最后交给第三方实现的回调方法进行处理;否则,SDK将通过内置浏览器请求登录,用户输入用户名密码提交后,仍是SDK解析请求结果,并由第三方应用实现相应的回调方法进行最后处理。
2:微博分享流程
微博分享分两种场景:一是从第三方应用分享信息到微博;二是微博主动呼起第三方应用,并提取信息返回到微博客户端,进行分享。
三、 集成步骤及示例分析(认证授权)
1. 通过Oauth2.0授权获得AccessToken
Demo工程:
北京新潮讯捷信息技术有限公司
第一步 in MainActivity:
通过Weibo的构造函数设置应用回调页和appkey。
对于Mobile客户端应用来说,是不存在Server的,故此处的应用回调页地址只要与新浪微博开放平台->我的应用->应用信息->高级应用->授权设置->应用回调页中的url地址保持一致就可以了,如图所示:
注:appkey和redirect_uri在开放平台(https://open.weibo.cn/)上获取。
第二步 注册应用程序的包名和签名:
packagename:向开放平台注册应用程序的包名;
key_hash:向开放平台注册应用程序的签名(经过hash后的值,可通过app_signatures.apk获取)
第三步:
实现WeiboDialogListener接口。授权成功后可在onComplete函数中获得accesstoken信息。具体如何保存、使用accesstoken信息由开发者自行处理。
北京新潮讯捷信息技术有限公司
第四步:
调用authorize方法,弹出授权对话框,进行授权。授权成功后即可获得accestoken。
北京新潮讯捷信息技术有限公司
四、 集成步骤及示例分析(分享微博)
1. 初始化SDK
首先,从新浪微博官方申请正式的appKey,只有真实的appkey才能完成微博分享功能,如下图。
初始化接口可以放在Activity的onCreate里,此初始化为采用单例模式(即使在几个Activity里都用到SDK初始化,也只会在内存创建一份)。
北京新潮讯捷信息技术有限公司
2. 注册到新浪微博
初始化后,调用registerApp即可注册到新浪微博。
3. 发送请求消息给微博
发送请求消息给微博的消息模型如下图所示,是由三方应用发起,分享到微博,然后微博把处理结果返回给三方应用。
第三方请求的代码如下,以发送文本消息为例:
北京新潮讯捷信息技术有限公司
微博响应三方的请求,需要配置条件:
在AndroidManifest.xml的需要接收消息的Activity里声明
在Activity类需要实现IWeiboHandler.Response
在Activity的onCreate与onNewIntent里加入
weiboAPI.responseListener(getIntent(), this);
即可接收onResponse消息,如下图所示。
北京新潮讯捷信息技术有限公司
注意:
weiboAPI.sendRequest(this, req);接口会检查用户系统是否安装微博,如果没安装,会提示下载安装,更多请查看微博SDK开发手册。
4. 接收微博请求消息
发送响应消息给微博的消息模型如下图所示,是由微博应用发起,经过三方,分享到微博。
第三方接收微博的请求(需要配置条件与微博响应三方的请求相同),需要注意的是mBundle必须带到新Activity。
响应微博的消息代码,以发送网页为例:
北京新潮讯捷信息技术有限公司
此处分成两个方法,respWebpageMsg()创建响应消息,getWebpageObj()是获取网页消息对象。
android 客户端 和 新浪微博如何打通的的更多相关文章
- 新浪微博开放平台开发-android客户端(1)【转】
http://www.cnblogs.com/virusswb/archive/2011/08/05/2128941.html 最近不是太忙,花了一些时间学习android的应用开发.经过两个星期的学 ...
- 接入新浪、腾讯微博和人人网的Android客户端实例 接入新浪、腾讯微博和人人网的Android客户端实例
做了个Android项目,需要接入新浪微博,实现时也顺带着研究了下腾讯微博和人人网的Android客户端接入,本文就跟大家分享下三者的Android客户端接入方法. 一.实例概述 说白了,接入微博就是 ...
- 爱奇艺技术分享:爱奇艺Android客户端启动速度优化实践总结
本文由爱奇艺技术团队原创分享,原题<爱奇艺Android客户端启动优化与分析>. 1.引言 互联网领域里有个八秒定律,如果网页打开时间超过8秒,便会有超过70%的用户放弃等待,对Andro ...
- Android客户端和服务器端数据交互
网上有很多例子来演示Android客户端和服务器端数据如何实现交互不过这些例子大多比较繁杂,对于初学者来说这是不利的,现在介绍几种代码简单.逻辑清晰的交互例子,本篇博客介绍第四种: 一.服务器端: 代 ...
- android App使用新浪微博sdk的使用总结
问题1:注册app的key 问题2:在微博开放平台,我的应用中心中,设置应用的基本信息的时候其中有一项,是设置你的应用的签名,签名是需要在安卓设备上安装一个生成签名的app(这个app界面很丑,这点我 ...
- appium 自动化测试之知乎Android客户端
appium是一个开源框架,相对来说还不算很稳定.转载请注明出处!!!! 前些日子,配置好了appium测试环境,至于环境怎么搭建,参考:http://www.cnblogs.com/tobecraz ...
- 仿优酷Android客户端图片左右滑动(自动滑动)
最终效果: 页面布局main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayou ...
- 【原创】轻量级即时通讯技术MobileIMSDK:Android客户端开发指南
申明:MobileIMSDK 目前为个人维护的原创开源工程,现陆续整理了一些资料,希望对需要的人有用.如需与作者交流,见文章底签名处,互相学习. MobileIMSDK开源工程的代码托管地址请进入 G ...
- 基于SuperSocket的IIS主动推送消息给android客户端
在上一篇文章<基于mina框架的GPS设备与服务器之间的交互>中,提到之前一直使用superwebsocket框架做为IIS和APP通信的媒介,经常出现无法通信的问题,必须一天几次的手动回 ...
随机推荐
- IOC之Unity
项目最近用到,查找到比较好的资料,记录哈: Unity 3(一):简介与示例: Unity 3(二):Unity在AOP方面的应用
- 关于ASIHTTPRequest连续请求,并发连续,间隔时间很小崩溃问题
在不停的刷新ASIHttpRequest的网络请求时,总是在刷新几次之后,整个app崩溃掉.我的app使用的ARC模式,以为可以自动释放到request的请求.经过摸索,还是需要在dealloc函数加 ...
- java编码转化方案-备用
import java.io.UnsupportedEncodingException; /** * 转换字符串的编码 */ public class changeCharSet { /** 7位AS ...
- iOS 视频播放横屏,隐藏状态栏
MPMoviePlayerViewController *moviePlayerViewController = [[MPMoviePlayerViewController alloc] init]; ...
- js对象的复制,传递,新增,删除和比较
当我们把一个某个对象拷贝或者传递给某个函数时,往往传递的是该对象的引用. 因此我们在引用上做的任何改动,都将会影响到它所引用的原对象. 复制,拷贝 var o = { add: 'Changdao ...
- jQuery api 学习笔记(1)
之前自己的jquery知识库一直停留在1.4的版本,而目前jquery的版本已经更新到了1.10.2了,前天看到1.10中css()竟然扩充了那么多用法,这2天就迫不及待的更新一下自己的jquer ...
- asp.net中后台javaScrip的使用
ClientScriptManager csm = Page.ClientScript; //Script标记靠近<form>标签 //csm.Register ...
- Jquery 全选、反选
jQuery 1.9以后用 prop(); 不用attr 等 $(function() { $('#inputCheck').click(function() { $("input[name ...
- python内置字符串操作方法
1.capitalize() S.capitalize()->string 首字母大写,其余字母小写. str='A222aaA' str.capitalize()#首字母大写,其余字母小写. ...
- iscc2016-basic-心灵鸡汤
用winhex打开发现 ISCCCongratulations! You need remember: DEath IS JUST A PaRT oF lIFE,sOMeTHInG wE'RE aLL ...