在微博认证方式里,基本的OAuth认证是必须要调整到跳转到第三方页面上进行授权的,例如下面的例子:
1、从http://open.weibo.com/wiki/index.php/SDK#Android下载SDK包。
2、在AndroidExample/src/weibo4android/Weibo.java中填入App key和App Secret。
3、运行工程。
4、点击GoGo后跳转到新浪微博的认证页面。
5、认证成功,可以根据AccessToken访问微博的接口。
在以上的过程中,手机端跳转过程非常麻烦,需要打开浏览器,一方面新浪显示的页面无法根据应用风格定制,另外有很大可能性由于浏览器原因无法打开页面,或者输入失败后就无法回到应用程序中。
想到在BasicAuth的方式下,我们是可以在自己的应用中输入用户名和密码,这样控制起来非常方便。那么我们能否结合BasicAuth方式的简单和OAuth方式的安全性呢?
新浪微博提供了callback=json的方式来帮助我们绕过OAuth的跳转步骤,只需要将用户名和密码传递给oauth/authorize接口,即可直接获得verifiercode。相关说明如下:
我们下面根据这种方式来修改上面的SDK以支持用户名和密码输入方式。
打开res/main.xml文件,注释掉Button01,添加两个输入框、一个按钮和TextView。
然后在src下的weibo4android.http包里添加OAuthVerifier.java类,这个类是实体类,代表OAuth的VerifierCode对象,代码如下:
然后修改androidexamples包下的AndroidExample类。初始化界面元素,设置authButton点击时的事件处理。
在src下weibo4android包的Weibo.java里添加getOAuthVerifier方法。
在src下weibo4android.http包的HttpClient.java文件里添加如下代码:
保存并运行工程。
在弹出的界面上输入新浪微博帐号和密码,并点击auth按钮。
马上能够看到获取到的access_token和access_token_secret。
我在去年7月开发的新浪微博傲游插件也是采用这种方式实现的OAuth认证,只是全部采用Javascript实现,在新浪微博认证方式从Basic Auth切换到OAuth的情况下不受任何影响。
腾讯微博没有提供这种OAuth方式的支持,我一直非常遗憾,考虑到QQ帐号的重要性,也可以理解。另外腾讯微博最近提供了手机端的登录方式支持,有兴趣的同学可以自行了解。
分享到:
相关推荐
在Android平台上进行社交媒体分享,尤其是针对新浪微博这样的大型社交平台,Oauth2.0协议的集成是必不可少的。本文将深入探讨如何在Android应用中实现基于Oauth2.0的新浪微博文字和图片分享功能。 首先,我们需要...
综上所述,Android应用程序可以通过WebView加载微博的OAuth授权页面,实现用户登录并获取授权信息。这一过程涉及到了WebView组件的使用、OAuth协议的理解和JavaScript与原生代码的交互,是移动应用中实现社交媒体...
本项目“安卓Android源码——精典源码之新浪、腾讯、网易、搜狐微博OAuth认证整合版.zip”提供了这四大中国主流社交媒体平台的OAuth认证集成示例,对于理解和实践Android应用与社交媒体API交互具有很高的参考价值。...
在Android平台上,实现新浪微博分享是一项常见的社交功能,它允许用户将内容快速地推送到自己的微博账号,以便与好友们分享信息、图片或者链接。本文将详细介绍如何在Android应用中集成新浪微博分享功能,包括授权...
以下是关于Android微博OAuth认证的关键知识点: 1. **OAuth认证流程**: OAuth是开放授权协议,用于安全地进行第三方应用的授权。在Android微博认证中,通常包括以下步骤: - 用户打开应用,点击授权按钮。 - ...
在Android平台上开发一款完整的新浪微博客户端是一项综合性的任务,涉及到许多关键知识点。首先,我们要了解Oauth认证机制,这是连接第三方应用与微博API的关键步骤。OAuth(开放授权)允许用户提供一个令牌,而不是...
在Android平台上开发应用程序时,与社交媒体平台如新浪微博的集成是一个常见的需求。本示例项目着重展示了如何在Android应用中实现新浪微博的登录、获取用户信息、关注及取消关注等功能。以下是对这些关键知识点的...
【Android 仿新浪微博】项目是基于Android平台的一个开源项目,其目标是实现一个类似新浪微博的应用。这个项目对于学习Android开发,尤其是社交应用的构建,提供了丰富的实践参考。 首先,项目的核心在于用户界面...
OAuth协议主要有四个角色:资源所有者(用户)、资源服务器(如腾讯微博)、客户端(开发者应用)和认证服务器(腾讯微博OAuth服务)。 1. 第三方客户端首先向认证服务器请求一个未授权的Request Token,这个请求...
在Android平台上开发一款新浪微博客户端,通常涉及到多个技术层面和组件的整合。这个“android新浪微博客户端demo”项目旨在实现接收、发送以及评论微博的功能,这涵盖了Android应用开发的基础以及与社交媒体API的...
在与新浪微博服务器的交互过程中,OAuth授权机制是必不可少的。开发者需要在用户登录时获取到授权令牌,然后在后续的请求中携带此令牌,以证明用户身份并获取权限。此外,网络通信通常使用HTTP或HTTPS协议,可以借助...
该压缩包文件“Android 仿新浪微博客户端APP源码.rar”是一个Android开发项目,其核心是模仿新浪微博的功能,为用户提供一个...开发者可以通过研究源代码,学习如何在Android平台上构建一个功能完善的社交媒体客户端。
在本项目中,“基于Android微博客户端的设计与实现”是一个典型的移动应用开发实例,主要涵盖了Android平台上的客户端应用程序设计、UI界面构建、网络通信以及数据管理等多个方面。下面将详细阐述这个项目的相关知识...
在Android平台上开发新浪微博客户端是一项常见的任务,涉及到网络通信、数据解析、UI设计等多个技术领域。以下将详细讲解这个过程中的关键知识点。 首先,我们需要了解微博API。新浪微博提供了开放的API接口,...
7. **用户认证与授权**:微博登录通常采用OAuth2.0协议,开发者需要理解这个过程并集成相应的SDK,处理令牌的获取和刷新。 8. **推送通知**:为了让用户及时了解新消息,微博应用通常会使用Google的Firebase Cloud ...
在Android示例中,这可能是用于实现用户通过输入验证码或者授权码进行微博登录的代码部分。通常,这个过程涉及用户在浏览器或者内置WebView中跳转至微博登录页面,输入账号密码,然后系统会返回一个授权码,这个授权...
《Android微博SDK精简版详解》 在移动应用开发领域,社交网络的集成已经成为不可或缺的一部分。其中,新浪微博作为中国主流的社交媒体平台,其SDK(Software Development Kit)为开发者提供了便捷的接口,使得...