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通信的媒介,经常出现无法通信的问题,必须一天几次的手动回 ...
随机推荐
- php验证是否为手机端还是PC
<?php $forasp = strtolower($_SERVER['HTTP_USER_AGENT']); if(strpos($forasp,'mobile')==true) { ech ...
- 利用linq快速判断给定数字是否包含在某个段范围内
一.需求: 知道某段范围0x0020~0x007F0x00A0~0x017F0x01A0~0x01CF0x01F0~0x01FF0x0210~0x021F0x1EA0~0x1EFF给定一个值,快速判断 ...
- Cookie技术详解
1. Cookie的特性 属性: 1> name: Cookie的名字 2> value: Cookie的值 3> path: 可选,Cookie的存储路径,默认情况下的存储路径时访 ...
- c#与c++交互的一些东西
最近做一个项目,对方公司只提供了一个c++的DLL,但没封住,c#无法DllImport.所以只能自己写c++来封住了. 对方的Dll只接收yuv420的图片格式,所以在c++里用opencv来转换. ...
- asp.net mvc 部署在IIS7.5上出现的[没有相关的源行]错误的解决办法
今天在IIS7.5上部署一个MVC小项目的时候出现以下错误:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET File ...
- 几种不同存储形式下的数据挖掘问题[ZZ]
从原理上说,数据挖掘应该可以应用到任何信息存储方式的知识挖掘中,但是挖掘的挑战性和技术会因为源数据的存储类型的不同而不同.特别是,近年来的研究表明数据挖掘所涉及的数据存储类型越来越丰富,除了一些有通用 ...
- POJ 1286 Necklaces of Beads (Burnside定理,有限制型)
题目链接:http://vjudge.net/problem/viewProblem.action?id=11117 就是利用每种等价情形算出置换节之后算组合数 #include <stdio. ...
- 解读为什么有符号的char可表示范围是-128~+127
问:为什么有符号的char可表示范围是-128~+127? 要明白这个问题,首先要明白一下几点: 对于char和int计算机中以补码形式存在. 严格来说计算机就是傻逼,它只知道某个位上是0还是1. 我 ...
- 如何使用ASP.NET Web API OData在Oracle中使用Entity Framework 6.x Code-First方式开发 OData V4 Service
环境: Visual Studio 2013 + .Net Framework 4.5.2 1.新建项目 2.安装OData,ODP.NET 安装的包: 下面是部分代码: using System; ...
- 批处理文件的@echo off是什么意思?
@echo off 关闭回显 @echo on 打开回显 @echo off并不是DOS程序中的, 而是DOS批处理中的. 当年的DOS,所有操作都用键盘命令来完成, 当你每次都要输入相同的命令时, ...