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通信的媒介,经常出现无法通信的问题,必须一天几次的手动回 ...
随机推荐
- angular.js 数字
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script sr ...
- JavaScript中style.left与offsetLeft的区别
今天在制作焦点轮播图的时候,遇到一个问题,在使用style.left获取图片的位置时,怎么也获取不到.换用offsetLeft就能够成功获取到了.虽然实现了我想要的效果,但是还是不甘心啊,没有找到原因 ...
- Jquery 点击空白处消失
$(document).bind("click", function (e){ if ( $((e.target || e.srcElement)).closest("# ...
- Tomcat设置最佳线程数总结
最佳线程数: 性能压测的情况下,起初随着用户数的增加,QPS会上升,当到了一定的阀值之后,用户数量增加QPS并不会增加,或者增加不明显,同时请求的响应时间却大幅增加.这个阀值我们认为是最佳线程数. 为 ...
- SGU 156. Strange Graph(欧拉路)
时间限制:0.25s 空间限制:6M 题目描述 让我们想象一个无向图G=<V,E>.如果边(u,v)在边集E中,那么我们就说两个顶点u和v是邻接点.在这种情况下,我们也说u是v的一个邻接点 ...
- javascript——事件处理
<script type="text/javascript"> function EventUtil() { var _self = this; ///添加事件 var ...
- MYSQL根据分类分组取每组一条数据且按条件能排序的写法
之前在一个项目的开发中,有遇到要根据分类来分组获取每组一条按某个条件字段排序的数据结果,于是先自己写了一条语句: select * from `表A` GROUP BY `c`; 上面这个语句有可以根 ...
- C#编程连接数据库,通过更改配置文件切换数据库功能。
该实例主要应用情景:假如某公司用mysql当做数据库服务器,由于发现mysql数据库在运行中出现不稳定情况,针对这情况,厂家要求更换连接数据库方式,改用SQL server数据库,来满足 ...
- dedecms自定义表单提交成功如何返回当前页面
在plus/diy.php找到showmsg($bkmsg, $goto);改成showmsg($bkmsg, -1);
- 关于Redis的知识汇总[转]
1. Overview 1.1 资料 <The Little Redis Book> ,最好的入门小册子,可以先于一切文档之前看,免费. 作者Antirez的博客,Antirez维护的Re ...