OAuth认证
来源:互联网 发布:阿里云slb负载均衡 编辑:程序博客网 时间:2024/05/01 23:10
学了一段时间的ANDROID了,最近准备做一个新浪微博,下面是刚开始研究关于新浪微博的OAuth认证的代码
OAuth认证我用了三个类,具体实现看代码:
//这是第一个类:
package com.zjut.qiao;
//此类主要保存一些常量
public class Constant
{
//从新浪开发平台获取的AppKey和AppSecret
public static final String consumerKey = "3018069148";
public static final String consumerSecret = "4f3662178a845b3867ea4d5186196ba0";
//OAuth认证需要的三个URL
//获取requestToken的URL
public static final String requestToken_URL = "http://api.t.sina.com.cn/oauth/request_token";
//获取accessToken的URL
public static final String accessToken_URL = "http://api.t.sina.com.cn/oauth/access_token";
//用户授权的URL
public static final String authorize_URL = "http://api.t.sina.com.cn/oauth/authorize";
//编码格式
public static final String ENCODING = "UTF-8";
//回调地址
public static final String CALLBACK_URL = "myapp"+"://"+"callback_url";
}
//这是第二个类
package com.zjut.qiao;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
//该类就是实现一个跳转,具体认证在TestOAuth类中
public class OAuthActivity extends Activity
{
//声明一个Button控件
private Button test;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//根据控件的ID实例化控件
test = (Button)findViewById(R.id.test);
//为按钮控件设置监听
test.setOnClickListener(new ButtonListener());
}
private class ButtonListener implements OnClickListener
{
@Override
public void onClick(View v)
{
Intent intent_01 = new Intent();
intent_01.setClass(OAuthActivity.this, TestOAuth.class);
startActivity(intent_01);
}
}
}
//这是第三个类
package com.zjut.qiao;
import oauth.signpost.OAuth;
import oauth.signpost.OAuthConsumer;
import oauth.signpost.OAuthProvider;
import oauth.signpost.commonshttp.CommonsHttpOAuthConsumer;
import oauth.signpost.commonshttp.CommonsHttpOAuthProvider;
import oauth.signpost.exception.OAuthCommunicationException;
import oauth.signpost.exception.OAuthExpectationFailedException;
import oauth.signpost.exception.OAuthMessageSignerException;
import oauth.signpost.exception.OAuthNotAuthorizedException;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.widget.TextView;
public class TestOAuth extends Activity
{
TextView oauth_test;
OAuthConsumer consumer;
OAuthProvider provider;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.testoauth);
try
{
//实例化OAuth认证中的客户和服务提供者
consumer = new CommonsHttpOAuthConsumer(Constant.consumerKey,Constant.consumerSecret);
OAuth认证我用了三个类,具体实现看代码:
//这是第一个类:
package com.zjut.qiao;
//此类主要保存一些常量
public class Constant
{
}
//这是第二个类
package com.zjut.qiao;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
//该类就是实现一个跳转,具体认证在TestOAuth类中
public class OAuthActivity extends Activity
{
}
//这是第三个类
package com.zjut.qiao;
import oauth.signpost.OAuth;
import oauth.signpost.OAuthConsumer;
import oauth.signpost.OAuthProvider;
import oauth.signpost.commonshttp.CommonsHttpOAuthConsumer
import oauth.signpost.commonshttp.CommonsHttpOAuthProvider
import oauth.signpost.exception.OAuthCommunicationExcept
import oauth.signpost.exception.OAuthExpectationFailedEx
import oauth.signpost.exception.OAuthMessageSignerExcept
import oauth.signpost.exception.OAuthNotAuthorizedExcept
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.widget.TextView;
public class TestOAuth extends Activity
{