android怎么oauth2公版认证,Android中腾讯微博OAuth认证(一)---获取RequestToken

本文适合Java新手,通过创建Android项目并集成腾讯微博SDK,熟悉Java中的网络操作。首先下载SDK,然后配置项目路径,引入必要库文件。接着,创建OAuth对象并设置参数,编写代码实现获取Request Token的功能。在主线程外进行网络请求以避免阻塞,最终展示获取的Request Token。
摘要由CSDN通过智能技术生成

Java新手,Java中的很多网络操作都不太熟悉,所以想写一个微博程序来熟悉下Java中的网络操作。

第一步:下载腾讯微博SDK

第二步:创建Android项目,并配置Build Path,加入SDK中httpmime-4.1.3.jar、Android_SDK_v1.2.jar两个库文件

第三步:编写代码,由于代码里面已经有注释,就不做过多说明:

package com.ns.wb;

import com.tencent.weibo.oauthv1.OAuthV1;

import com.tencent.weibo.oauthv1.OAuthV1Client;

import com.tencent.weibo.utils.QHttpClient;

import android.app.Activity;

import android.os.AsyncTask;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;

public class TecentWeiboActivity extends Activity {

//声明控件变量

private Button requsetButton = null;

private TextView requestText = null;

private OAuthV1 oAuth;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

//初始化OAuth对象

//参数为回调地址,移动应用可以为“null”

oAuth=new OAuthV1(Constants.OAUTH_CALLBACK_URL);

//参数为你在腾讯微博开放平台创建的应用的APP_KEY

oAuth.setOauthConsumerKey(Constants.APP_KEY);

//你的应用的APP_SECRET

oAuth.setOauthConsumerSecret(Constants.APP_SECRET);

//获取控件对象

requsetButton = (Button)findViewById(R.id.buttonRequest);

//绑定点击事件监听器

requsetButton.setOnClickListener(listener);

requestText = (TextView)findViewById(R.id.requestText);

//关闭OAuthV1Client中的默认开启的QHttpClient。

OAuthV1Client.getQHttpClient().shutdownConnection();

//为OAuthV1Client配置自己定义QHttpClient。

OAuthV1Client.setQHttpClient(new QHttpClient());

}

OnClickListener listener = new OnClickListener() {

public void onClick(View v) {

switch (v.getId()) {

case R.id.buttonRequest:

//从 Android 2.3 开始提供了一个新的类 StrictMode,

//该类可以用于捕捉发生在应用程序主线程中耗时的磁盘、

//网络访问或函数调用,可以帮助开发者改进程序,

//使主线程处理 UI 和动画在磁盘读写和网络操作时变得更平滑,

//避免主线程被阻塞。

//所以我们需要新起一个线程来获取访问令牌

new GetRequestTokenTask().execute();

break;

default:

break;

}

}

};

class GetRequestTokenTask extends AsyncTask{

@Override

protected Void doInBackground(Void... params) {

try {

//向腾讯微博开放平台请求获得未授权的Request_Token

oAuth = OAuthV1Client.requestToken(oAuth);

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

@Override

protected void onPostExecute(Void result) {

requestText.append("\nrequest_token-->:"+oAuth.getOauthToken()+ "\nrequest_token_secret:\n"+oAuth.getOauthTokenSecret());

}

}

}

另外在SDK的源码中有Demo程序,里面有详细的OAuth认证过程,有兴趣的同学可以看一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值