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通信的媒介,经常出现无法通信的问题,必须一天几次的手动回 ...
随机推荐
- IDEA 13》》》14破解
更新IDEA 15注册方式 http://15.idea.lanyus.com/ ------------------------------------------------ 之前的已不能用,下面 ...
- 【转载】一步一步搭建自己的iOS网络请求库
一步一步搭建自己的iOS网络请求库(一) 大家好,我是LastDay,很久没有写博客了,这周会分享一个的HTTP请求库的编写经验. 简单的介绍 介绍一下,NSURLSession是iOS7中新的网络接 ...
- NSArray 跟 NSMutableArray 使用 区别
NSArray 可变数组 一.NSArray是静态数组,创建后数组内容及长度不能再修改. 实例: //用arrayWithObjects初始化一个不可变的数组对象. //初始化的值之间使用逗号分开,以 ...
- Objective - C 中NSString (字符串)与C中的字符串转换问题
NSString是一个常用的类,NSString是原生支持unicode C中的字符串 比如char * a = "hello world"; 是utf8类型的, char* d ...
- EMA计算的C#实现(c# Exponential Moving Average (EMA) indicator )
原来国外有个源码(TechnicalAnalysisEngine src 1.25)内部对EMA的计算是: var copyInputValues = input.ToList(); for (int ...
- linux 部分命令简单使用介绍-ssh、scp、less、tail、find、grep(持续添加)
ssh 加密的网络协议,提供客户-服务模式. 登录 ssh username@ip ssh ip #不提供用 ...
- SGU 223.Little Kings
时间限制:0.25s 空间限制:4M 题意: 在 n*n(n≤10)的棋盘上放 k (k<=n*n)个国王(可攻击相邻的 8 个格子),求使它们无法互相攻击的方案数. Solution: 采用状 ...
- swfupload上传文件问题
如果你的框架用到了struts2的话 可能会造成request冲突 那么解决的办法就是把该request排除出去 不让struts2拦截
- 用arm-linux-gcc v4.3.4交叉编译Qt4.8.3
1.解压缩 #tar zxvf qt-everywhere-opensource-src-4.8.3.tar.gz 2. configure #mkdir buildarm-static #cd b ...
- Wdcp缺少mod_rewite模块
1.下载apache源码包,解压并查找到mod_rewrite.c文件 tar -zxvf httpd-2.2.27.tar.gz cd httpd-2.2.27 [root@localhost ht ...