该功能是在基于Android的应用中实现sina微博分享,利用sina微博这个平台来推广自己的应用,大家有兴趣可以看看新浪微博开发平台的相关介绍http://open.weibo.com/

运行结果:

图1 新浪官方授权网页

图2 客户端界面

右上角为登录用户在sina中的用户名,换个账号可以切换用户。

图3 新浪微博分享结果

新浪OAuth认证

OAuth的基本概念,OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAUTH是安全的。同样新浪微博提供OAuth认证也是为了保证用户账号和密码的安全,在这里通过OAuth建立普通新浪微博用户、客户端程序(我们正在开发的这个android客户端程序)、新浪微博三者之间的相互信任关系,让客户端程序(我们正在开发的这个android客户端程序)不需要知道用户的账号和密码也能浏览、发布微博,这样有效的保护了用户账号的安全性不需要把账号密码透露给客户端程序又达到了通过客户端程序写微博看微博目的。这个是OAuth的作用。

图4 新浪微博OAuth认证过程

结合新浪微博的OAuth认证来说说具体的功能实现,首先罗列一下关键字组,下面四组关键字跟我们接下来OAuth认证有非常大的关系。

第一组:(App Key和App Secret),这组参数就是在新浪微博开放平台建一个新的应用获取App Key和App Secret。

第二组:(Request Token和Request Secret)

第三组:(oauth_verifier)

第四组:(user_id、Access Token和Access Secret)

图中的1,2,3,4 即对应上面的四组参数,而图中小写的英文字母表示OAuth认证过程的先后顺序。

新浪微博的OAuth认证过程,当用户第一次使用本客户端软件时,客户端程序用第一组作为参数向新浪微博发起请求,然后新浪微博经过验证后返回第二组参数给客户端软件同时表示新浪微博信任本客户端软件,当客户端软件获取第二组参数时作为参数引导用户浏览器跳至新浪微博的授权页面,然后用户在新浪的这个授权页面里输入自己的微博账号和密码进行授权,完成授权后根据客户端设定的回调地址把第三组参数返回给客户端软件并表示用户也信任本客户端软件,接下客户端软件把第二组参数和第三组参数作为参数再次向新浪微博发起请求,然后新浪微博返回第四组参数给客户端软件,第四组参数需要好好的保存起来这个就是用来代替用户的新浪账号和密码用的,在后面调用api时都需要。从这个过程来看用户只是在新浪微博的认证网页输入过账户和密码并没有在客户端软件里输入过账户和密码,客户端软件只保存了第四组数据并没有保存用户的账户和密码,这样有效的避免了账户和密码透露给新浪微博之外的第三方应用程序,保证 了安全性。

客户端保存了第四组参数,可以利用第四组参数使用新浪微博提供一些API来实现一些功能,此时,可能会考虑到微博的被人盗用,但是用户可以在 账号 —> 账号设置 —> 应用授权 看到所授权的应用,用户也可以取消授权。

图 5 授权应用

大家要是感兴趣的话,可以看看下面参考资料中的系列博客。

参考资料:http://www.cnblogs.com/hll2008/archive/2011/01/03/1923674.html

基于Android的sina微博分享功能相关推荐

  1. Android 实现微博分享功能

    Android 实现微博分享功能的实现,通过发送下面的intent: Intent intent = new Intent(Intent.ACTION_SEND); //启动分享发送的属性 inten ...

  2. php mysql 开发微博_php+mysql基于Android的手机微博应用开发

    摘要:本系统采用Eclipse作为开发工具,数据库基于MySQL,服务器的编写使用的是PHP语言,开发了基于Android平台开的C/S模式的手机微博系统.系统从符合操作简便.界面友好.使用灵活.实用 ...

  3. java android毕业设计题目,一个基于android的优秀毕业设计分享

    一个基于android的优秀毕业设计分享 1.课程管理 [系统端]:课程信息管理,(授课老师,课程名称,授课对象,授课时间(哪几周,哪几节课),比如4~16周,周三(5,6节)) 2.知识点管理 [系 ...

  4. android 后台截屏代码,Android实现截图和分享功能的代码

    先给大家展示下效果图吧 直接上代码: xml的布局: android:id="@+id/btn_jp" android:layout_marginTop="10dip&q ...

  5. ipad android tv,先河私有云持续大动作:继iPad/Android TV端/系统分享功能后,还有新玩法?...

    原标题:先河私有云持续大动作:继iPad/Android TV端/系统分享功能后,还有新玩法? 由5.1劳动节伊始,勤劳的先河小蜜蜂们(先河研发人员)可是忙疯了! 首先是经过连日来的挑灯夜战,5月18 ...

  6. android 分享到微博客户端,Android APP集成新浪微博分享功能

    本文为大家分享了新浪微博分享功能集成,供大家参考,具体内容如下 直接导入weibosdkcore.jar:适用于只需要授权.分享.网络请求框架功能的项目. 无论使用哪一种方式,都需要先将demo中li ...

  7. android之ShareSDK实现分享功能

    现在随着科技的发达,人们交友的方式也越来越广泛,用到的app也越来越多,那么每当我们发现了好玩的好吃的好看的文章之类的,想分享到朋友圈.QQ空间.微博等如何做呢?由于这个需求越来越被需要,所以Shar ...

  8. android sharesdk分享功能,Android ShareSDK快速实现分享功能

    第一步 :获取ShareSDK 为了集成ShareSDK,您首先需要到ShareSDK官方网站注册并且创建应用,获得ShareSDK的Appkey,然后到SDK的下载页面下载SDK的压缩包,解压以后可 ...

  9. Android——App内文件分享功能

    国内的Android开发者,在遇到App内有分享功能时,基本都是对接友盟分享.ShareSDK分享等第三方SDK.简单的集成SDK以及配置之后,即可分享至多个不同App平台.反而很少来使用Androi ...

最新文章

  1. Java中多线程概念详解
  2. 数据中心管理:从DCIM过渡到DMAAS
  3. 【修炼1】《序章》关于要写给谁看的问题
  4. FMS(Flash Media Server)共享内存问题解决
  5. 使用pushMeBaby后台测试远程推送
  6. 高并发之--Guava Cache
  7. linux下 最常用基本命令
  8. html盒子居中的方式,CSS盒子居中三种方法
  9. HTML+CSS+JS实现 ❤️svg图片透明层文本显示❤️
  10. 人生聚散,一切随缘!
  11. 【kafka】kafka 新增节点 报错 InconsistentBrokerIdException Configured broker.id doesn‘t match
  12. 集合类 List 的那些坑
  13. 【转】UML的9种图例解析
  14. SnakeMaker:模仿实现 即刻APP 头像拖动的残影效果
  15. 使用IAR软件的搜索快捷键出现中文繁体现象
  16. bootstrap栅格化框架
  17. 软考-高项-论文-信息系统项目的人力资源管理
  18. 业绩承压来临,京东方还能抗周期多久
  19. Linux防火墙的关闭
  20. JAVA——实现输出1~1000之间既能被3整除也能被5整除的数,并每行打印5个数。

热门文章

  1. 用python做一个随机题目生成器
  2. Echarts显示行政区域图并上色
  3. 企业授权:SOA被低估的经济价值
  4. python面试题 网络编程和并发(34道题)
  5. 随身Q代理服务器大升级
  6. 《OpenGL ES 3.x游戏开发(下卷)》一2.4 展翅飞翔的雄鹰
  7. MATLAB运用all函数剔除0元素
  8. 发布文章的php模板,PHP实现发送模板消息(微信公众号版)
  9. kettle连接12c_kettle 链接oracle12c
  10. 刷脸自助登记 访客管理不再潦草应对!