`
yunlonglove
  • 浏览: 242743 次
社区版块
存档分类
最新评论

android 新浪微博Oauth认证

 
阅读更多

对于新浪微博这块一直很纠结,auth认证让人吐血。之前项目用到的都是copy别人的,最近想详细了解下,就简单实现一二,以便以后自己更好的运用.

准别好以下常量

public String consumerKey = "2803926882";// key
    public String consumerSecret = "d41e6f2d605bd16c785879032ec431f5";// Secret
    // 自定义回调URL(这个url要在配置文件中配置,)
    public static final String CALLBACK_URL = "jjhappyforever://WeiboListActivity";
    // requestTokenURL
    private final String requestTokenEndpointUrl = "http://api.t.sina.com.cn/oauth/request_token";
    // accessTokenURL
    private final String accessTokenEndpointUrl = "http://api.t.sina.com.cn/oauth/access_token";
   // 授权
   private final String authorizationWebsiteUrl = "http://api.t.sina.com.cn/oauth/authorize";


下面两个方法是Oauth.java中的两个方法.

   // 获取auth地址
 public String RetrieveAuthUrl() throws OAuthMessageSignerException,
   OAuthNotAuthorizedException, OAuthExpectationFailedException,
   OAuthCommunicationException {
  authConsumer = new CommonsHttpOAuthConsumer(consumerKey, consumerSecret);
  authProvider = new CommonsHttpOAuthProvider(requestTokenEndpointUrl,
    accessTokenEndpointUrl, authorizationWebsiteUrl);
  return authProvider.retrieveRequestToken(authConsumer, CALLBACK_URL);
 }

 //这个方法是获取用户的 userId,token,tokenSecret等信息.

public User getAccessToken(String authUrl)
   throws OAuthMessageSignerException, OAuthNotAuthorizedException,
   OAuthExpectationFailedException, OAuthCommunicationException {

  Log.i(TAG, authUrl);

  authProvider.setOAuth10a(true);
  authProvider.retrieveAccessToken(authConsumer, authUrl);
  User user = new User();
  user.userId = authProvider.getResponseParameters().getFirst("user_id");
  user.token = authConsumer.getToken();
  user.tokenSecret = authConsumer.getTokenSecret();
  return user;
 }


在Activity中调用. 

  // 获取authUrl地址
   String authUrl = oauth.RetrieveAuthUrl();
   // 启动访问新浪认证页面
   startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(authUrl)));

  这样就会执行web 认证

  

  在本activity中实现onNewIntent方法,用来执行认证回调后的动作,

  protected void onNewIntent(Intent intent) {
  super.onNewIntent(intent);
  Uri uri = intent.getData();
  String verifier = uri.getQueryParameter(OAuth.OAUTH_VERIFIER);
  try {
   User user = null;
   user = oauth.getAccessToken(verifier);
   Log.i(Oauth.TAG, user.toString());
  } catch (OAuthMessageSignerException ex) {
   ex.printStackTrace();
  } catch (OAuthNotAuthorizedException ex) {
   ex.printStackTrace();
  } catch (OAuthExpectationFailedException ex) {
   ex.printStackTrace();
  } catch (OAuthCommunicationException ex) {
   ex.printStackTrace();
  }
 }

 

  在这里要说一下配置文件中的配置:

  

    <activity
            android:name=".TestActivity"
            android:launchMode="singleInstance" ><!-—— 这个lanchMode模式一定要设置,不设置的话会一直执行oncreate. 不会执行onNewIntent 我在这里纠结好久.——>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data
                    android:host="Oauth"
                    android:scheme="jjhappyforevert" />
            </intent-filter>
        </activity>

 

到这里就实现了Oauth认证流程.下一篇,要简单介绍下根据开放平台API如果调用用户的微博信息.

 

 

 

   

 

   


分享到:
评论

相关推荐

    android新浪微博OAuth2认证demo

    在这个“android新浪微博OAuth2认证demo”中,我们将探讨OAuth2.0认证的关键步骤和相关技术。 1. **OAuth2.0的基本流程** OAuth2.0主要分为四个角色:资源所有者(User)、资源服务器(Resource Server)、客户端...

    Android版微博OAuth认证整合实例集

    Android版新浪、网易、腾讯、搜狐微博OAuth认证实例集,想更多了解OAuth认证的朋友,请下载java源码包,在示例中完整解析了OAuth认证的过程:定义URL编码方式,请求url,得到注册应用后服务商提供的key和secret,...

    Android平台新浪微博开发实战视频教程(10集)

    教程名称:Android平台新浪微博开发实战视频教程(10集)教程目录:【】Android项目_-6(上)【】Android项目_新浪微博-4(上)【】Android项目_新浪微博Android客户端开发ppt【】Android项目_新浪微博OAuth认证-4(下)...

    新浪微博 api Oauth认证.

    【压缩包子文件的文件名称列表】:Microblog.apk可能是一个包含演示或教学性质的Android应用,用于展示如何在移动平台上集成新浪微博的OAuth认证。这个APK文件可能是博客作者为了辅助解释OAuth认证流程而提供的实例...

    新浪、腾讯、网易、搜狐微博OAuth认证整合Android版

    1. **新浪微博OAuth认证**: 新浪微博提供了OAuth2.0的认证方式,开发者需要在新浪开放平台上注册应用,获取App Key和App Secret。用户授权后,应用会收到一个临时的code,然后通过code换取access token,最后用...

    新浪微博OAuth2认证android

    本文将深入探讨“新浪微博OAuth2认证在Android客户端中的实现”这一主题,旨在帮助开发者理解和实施这一过程。 OAuth2的核心目的是为第三方应用提供安全、有限的访问用户资源的权限,而无需获取用户的账号密码。在...

    新浪微博Oauth2.0源码

    新浪微博oauth认证源码,只要加入开发者自己的key与secret即可通过认证,进行相应的开发

    安卓开发-新浪、腾讯、网易、搜狐微博OAuth认证整合Android版.zip.zip

    1. 新浪微博OAuth认证: 新浪微博API提供了详细的开发者文档,包括注册应用获取AppKey和AppSecret,以及授权URL的构建。首先,你需要在新浪微博开发者平台上注册应用,然后获取到AppKey和AppSecret。接着,你需要...

    Android 新浪、腾讯、网易、搜狐微博OAuth认证整合Android版.zip

    在这个名为"Android 新浪、腾讯、网易、搜狐微博OAuth认证整合Android版.zip"的压缩包文件中,包含了一个完整的Android项目源码,旨在教你如何在Android应用中实现这四个主流微博平台的OAuth认证集成。 首先,你...

    使用WebView实现新浪微博Oauth2.0认证(android)

    本文将详细介绍如何使用WebView组件实现新浪微博的OAuth2.0认证过程,这是一个安全、便捷的方法,避免了直接操作HTML代码获取验证码带来的潜在风险。 OAuth2.0是一种授权框架,它允许第三方应用在用户的授权下访问...

    Android 新浪、腾讯、网易、搜狐微博OAuth认证整合Android版.zip项目安卓应用源码下载

    Android 新浪、腾讯、网易、搜狐微博OAuth认证整合Android版.zip项目安卓应用源码下载Android 新浪、腾讯、网易、搜狐微博OAuth认证整合Android版.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人...

    Android登录各大网站微博OAuth认证实例.rar

    Android登录各大网站微博OAuth认证实例,附完整实例源代码。比如新浪、腾讯、网易、搜狐等微博的OAuth认证功能,运行效果如测试界面所示。实现方面,在代码中初始化各门户网站微博的认证信息、设置当前操作的weibo,...

    安卓Android源码——新浪、腾讯、网易、搜狐微博OAuth认证整合版.zip

    这个"安卓Android源码——新浪、腾讯、网易、搜狐微博OAuth认证整合版.zip"压缩包提供了一个完整的解决方案,允许开发者通过OAuth认证方式实现与这四大微博平台的接口对接。OAuth是一种授权框架,它允许第三方应用...

    安卓项目源码Android新浪,腾讯,网易,搜狐微博OAuth认证整合Android版

    在新浪微博的OAuth认证流程中,首先需要在新浪开放平台注册应用,获取到App Key和App Secret。开发者将引导用户通过点击授权链接的方式访问新浪的授权页面,用户同意授权后,新浪将通过回调地址把授权码...

    Android 新浪微博客户端

    【Android 新浪微博客户端】 Android 新浪微博客户端是一款专为Android操作系统设计的应用程序,它允许用户在移动设备上轻松访问和交互微博平台。这款客户端集成了新浪微博的核心功能,包括发布和阅读微博、查看...

    Android参考源码-新浪、腾讯、网易、搜狐微博OAuth认证整合Android版.zip

    这个压缩包文件"Android参考源码-新浪、腾讯、网易、搜狐微博OAuth认证整合Android版.zip"包含了一个名为"OauthTest"的项目,它为我们提供了一个学习和参考的平台,以了解如何在Android应用中实现这些社交平台的登录...

    android新浪微博开发源码 oauth

    本项目提供的是一份完整的Android新浪微博开发源码,结合了OAuth认证过程,使得开发者能够更好地理解和实践这一过程。 OAuth是一种开放标准授权协议,允许用户提供一个第三方应用访问其私密资源,而无需将用户名和...

    Android新浪微博完整例子

    这个项目"Android新浪微博完整例子"是一个很好的实践,可以帮助开发者深入理解Android应用开发的全貌,从用户交互到后端数据处理的每一个环节。通过学习和分析这个项目,开发者可以提升自己的技能,为未来更复杂的...

    Android应用源码之新浪、腾讯、网易、搜狐微博OAuth认证整合版.zip项目安卓应用源码下载

    Android应用源码之新浪、腾讯、网易、搜狐微博OAuth认证整合版.zip项目安卓应用源码下载Android应用源码之新浪、腾讯、网易、搜狐微博OAuth认证整合版.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合...

    android新浪微博实例,登录,获取微博信息

    总的来说,这个实例项目涵盖了Android应用接入新浪微博OAuth认证和获取微博信息的全过程,对于想要学习这方面知识的开发者来说,是一个宝贵的实践资源。通过分析和运行这个项目,开发者不仅可以掌握OAuth认证的原理...

Global site tag (gtag.js) - Google Analytics