亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android集成新浪微博第三方登錄的方法

2020-04-11 11:40:23
字體:
來源:轉載
供稿:網友

本文實例講述了Android集成新浪微博第三方登錄的方法。分享給大家供大家參考。具體實現方法如下:

1.下載微博的sdk ,導入微博的jar包兩個 android-support-v4.jar和weibosdkcore.jar兩個包

2.把新浪微博中的demo_src中SDK中的com,導入到項目中

3.用demo中的constants,主要是參數設置,將里面的參數改成自己的參數。

4.編寫代碼,主要步驟如下:

復制代碼 代碼如下:
// 初始化微博對象
mWeiboAuth = new WeiboAuth(this, Constants.APP_KEY, Constants.REDIRECT_URL, Constants.SCOPE);
// sinaAuthorWebView.loadUrl("https://open.weibo.cn/oauth2/authorize?scope=email&redirect_uri=http://www.sina.com&state=flashmemoAndroid&forcelogin=true&display=mobile&client_id=2529326755");
//獲取code
mWeiboAuth.authorize(new AuthListener(), WeiboAuth.OBTAIN_AUTH_CODE);
// 第二步:通過 Code 獲取 Token
fetchTokenAsync(mCode, WEIBO_DEMO_APP_SECRET);

5.主要的核心代碼如下:

復制代碼 代碼如下:
/**
* 微博認證授權回調類。
*/
class AuthListener implements WeiboAuthListener {


@Override
public void onComplete(Bundle values) {
if (null == values) {
// 獲取code失敗
return;
}
String code = values.getString("code");
if (TextUtils.isEmpty(code)) {
// 獲取code失敗 
return;
}
// 獲取code成功
mCode = code;
// 獲取code成功,第二步:通過 Code 獲取 Token
fetchTokenAsync(mCode, WEIBO_DEMO_APP_SECRET);
}

@Override
public void onCancel() {
Log.e("LoginActivity", "sinaAuth cancel");
//如果取消授權,那么可以調到登錄頁面等
}

@Override
public void onWeiboException(WeiboException e) {
Log.e("LoginActivity", "sinaAuth exception :" + e.getMessage());
}
}

/**
* 該 Handler 配合 {@link RequestListener} 對應的回調來更新 UI。
*/
private Handler mHandler = new Handler() {
public void handleMessage(Message msg) {


switch (msg.what) {
case MSG_FETCH_TOKEN_SUCCESS:
// 顯示 Token
// String date = new
// SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(
// new java.util.Date(mAccessToken.getExpiresTime()));
// String format =
// getString(R.string.weibosdk_demo_token_to_string_format_1);


// 獲取tocken成功
break;


case MSG_FETCH_TOKEN_FAILED:
// Toast.makeText(WBAuthCodeActivity.this,
// R.string.weibosdk_demo_toast_obtain_token_failed,
// Toast.LENGTH_SHORT).show();
// 獲取tocken失敗
break;
default:
break;
}
};
};


/**
* 異步獲取 Token。
*
* @param authCode
*            授權 Code,該 Code 是一次性的,只能被獲取一次 Token
* @param appSecret
*            應用程序的 APP_SECRET,請務必妥善保管好自己的 APP_SECRET,
*            不要直接暴露在程序中,此處僅作為一個DEMO來演示。
*/
public void fetchTokenAsync(String authCode, String appSecret) {
/*
* LinkedHashMap<String, String> requestParams = new
* LinkedHashMap<String, String>();
* requestParams.put(WBConstants.AUTH_PARAMS_CLIENT_ID,
* Constants.APP_KEY);
* requestParams.put(WBConstants.AUTH_PARAMS_CLIENT_SECRET,
* appSecretConstantS.APP_SECRET);
* requestParams.put(WBConstants.AUTH_PARAMS_GRANT_TYPE,
* "authorization_code");
* requestParams.put(WBConstants.AUTH_PARAMS_CODE, authCode);
* requestParams.put(WBConstants.AUTH_PARAMS_REDIRECT_URL,
* Constants.REDIRECT_URL);
*/
WeiboParameters requestParams = new WeiboParameters();
requestParams.add(WBConstants.AUTH_PARAMS_CLIENT_ID, Constants.APP_KEY);
requestParams.add(WBConstants.AUTH_PARAMS_CLIENT_SECRET, appSecret);
requestParams.add(WBConstants.AUTH_PARAMS_GRANT_TYPE,
"authorization_code");
requestParams.add(WBConstants.AUTH_PARAMS_CODE, authCode);
requestParams.add(WBConstants.AUTH_PARAMS_REDIRECT_URL,
Constants.REDIRECT_URL);

/**
* 請注意: {@link RequestListener} 對應的回調是運行在后臺線程中的, 因此,需要使用 Handler 來配合更新
* UI。
*/
AsyncWeiboRunner.request(OAUTH2_ACCESS_TOKEN_URL, requestParams,
"POST", new RequestListener() {
@Override
public void onComplete(String response) {
LogUtil.d(TAG, "get token Response: " + response);

Oauth2AccessToken token = Oauth2AccessToken
.parseAccessToken(response);
if (token != null && token.isSessionValid()) {

LogUtil.d(TAG, "Success! " + token.toString());

mAccessToken = token;
// 獲取token成功,可以做出相應的處理

// 通知UI改變
mHandler.obtainMessage(MSG_FETCH_TOKEN_SUCCESS)
.sendToTarget();

@Override
public void onComplete4binary(
ByteArrayOutputStream responseOS) {
LogUtil.e(TAG, "onComplete4binary...");
mHandler.obtainMessage(MSG_FETCH_TOKEN_FAILED)
.sendToTarget();
}

@Override
public void onIOException(IOException e) {
LogUtil.e(TAG, "onIOException: " + e.getMessage());
mHandler.obtainMessage(MSG_FETCH_TOKEN_FAILED)
.sendToTarget();
}

@Override
public void onError(WeiboException e) {
LogUtil.e(TAG, "WeiboException: " + e.getMessage());
mHandler.obtainMessage(MSG_FETCH_TOKEN_FAILED)
.sendToTarget();
}
});
}


主要是改寫complete相應的方法即可。handler主要是通知界面做出改變
UI Handler的參數調用問題的參數
復制代碼 代碼如下:
/** 獲取 Token 成功或失敗的消息 */
private static final int MSG_FETCH_TOKEN_SUCCESS = 1;
private static final int MSG_FETCH_TOKEN_FAILED = 2;

希望本文所述對大家的Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩大胆人体377p| 国产精品网站大全| 国产在线视频2019最新视频| 色综合伊人色综合网站| 91免费视频国产| 久久精品国产欧美亚洲人人爽| 精品女同一区二区三区在线播放| 久久噜噜噜精品国产亚洲综合| 亚洲女同性videos| 亚洲伦理中文字幕| 26uuu另类亚洲欧美日本老年| 91精品久久久久久久久久| 亚洲欧美综合另类中字| 日韩精品在线视频美女| 欧美大片第1页| 午夜精品三级视频福利| 国产成人aa精品一区在线播放| 欧美激情综合色综合啪啪五月| 久久精品亚洲国产| 国产aⅴ夜夜欢一区二区三区| 一本色道久久88精品综合| 亚洲娇小xxxx欧美娇小| 九九九热精品免费视频观看网站| 亚洲社区在线观看| 91精品国产综合久久香蕉922| 亚洲韩国欧洲国产日产av| 色偷偷888欧美精品久久久| 国产成人在线一区| 国产精品久久久久久久久久三级| 中文字幕日韩视频| 欧美日韩国产成人在线观看| 国产精品久久久久久久久影视| 亚洲欧美制服中文字幕| 国产精品91在线观看| 国产精品6699| 欧美性生活大片免费观看网址| 国产精品久久久av久久久| 日本伊人精品一区二区三区介绍| 精品动漫一区二区三区| 国产一区二区日韩| 亚洲日本欧美日韩高观看| 久久久国产精品一区| 亚洲黄色成人网| 久久久久免费视频| 亚洲精品国产综合久久| 国内精品中文字幕| 欧美日韩国产一区中文午夜| 一个人看的www欧美| 中文字幕精品一区久久久久| 欧美高清电影在线看| 亚洲欧美日韩中文视频| 欧美国产高跟鞋裸体秀xxxhd| 日韩国产激情在线| 日本久久精品视频| 亚洲国产日韩欧美在线动漫| 精品久久久久久久久久国产| 欧美激情女人20p| 国产亚洲视频在线观看| 国产一区在线播放| 91精品免费视频| 亚洲白拍色综合图区| 日韩精品一二三四区| 91精品视频免费看| 欧美福利在线观看| 亚洲免费av电影| 欧美性xxxxx极品| 欧美视频第一页| 国内精品模特av私拍在线观看| 亚洲欧美国产日韩天堂区| 日本久久久久久久| 97**国产露脸精品国产| 精品视频在线导航| 久久精品视频一| 成人免费视频网址| 日韩精品在线私人| 亚洲精品国产综合区久久久久久久| 亚洲美女激情视频| 丁香五六月婷婷久久激情| 亚洲精品国产免费| 久久精品国产成人| 久久久精品国产| 亚洲成人激情小说| 国产日韩欧美在线| 亚洲有声小说3d| 亚洲偷欧美偷国内偷| 亚洲伊人久久综合| 97热在线精品视频在线观看| 亚洲最大中文字幕| 亚洲丁香久久久| 久久综合九色九九| 欧美极品少妇xxxxⅹ喷水| 中文字幕视频在线免费欧美日韩综合在线看| 国产成人黄色av| 色噜噜狠狠狠综合曰曰曰88av| 国内精品400部情侣激情| 欧美极品欧美精品欧美视频| 久久久久久国产三级电影| 美日韩精品免费视频| 亚洲一区美女视频在线观看免费| 一区二区三区回区在观看免费视频| 国产成人精品久久久| 国产美女久久久| 国产欧美一区二区三区在线| 一区二区三区黄色| 久久久精品免费视频| 欧美福利小视频| 日韩美女写真福利在线观看| 91视频九色网站| 久久91亚洲精品中文字幕奶水| 国产一区二区三区在线观看网站| 久久久久这里只有精品| 成人在线视频网| 成人免费黄色网| 欧美中文字幕第一页| 亚洲欧美日韩天堂一区二区| 国模精品视频一区二区| 亚洲性视频网站| 成人久久久久久久| 日韩中文字幕不卡视频| 日本人成精品视频在线| 成人性生交大片免费看视频直播| 中文字幕亚洲国产| 欧美在线观看网站| 亚洲欧美国产va在线影院| 亚洲国产一区二区三区在线观看| 久久久久久久久久国产| 欧美日韩中文字幕综合视频| 国模精品视频一区二区三区| 日韩在线中文字幕| 欧美洲成人男女午夜视频| 91在线观看免费网站| 欧美激情亚洲国产| 91国内精品久久| 91美女片黄在线观| 热久久免费视频精品| 欧美日韩性视频在线| 国语自产偷拍精品视频偷| 国产91精品视频在线观看| 亚洲人成毛片在线播放| 精品露脸国产偷人在视频| 亚洲成人激情视频| 亚洲精品久久久久久久久久久久久| 日本伊人精品一区二区三区介绍| 亚洲欧美综合另类中字| 欧美亚洲在线观看| 国产日韩在线一区| 国产精品久久久久久久一区探花| 亚洲精品成人网| 国产精品国语对白| 97久久精品视频| 亚洲成人av在线| 欧美日韩亚洲天堂| 91香蕉嫩草影院入口| 97视频在线免费观看| 日韩欧美国产骚| 成人乱人伦精品视频在线观看| 亚洲一区亚洲二区亚洲三区| 97久久伊人激情网| 久久精品一本久久99精品| 精品国产乱码久久久久久虫虫漫画| 日韩美女视频免费看| 欧美小视频在线观看| 日韩av免费看网站| 欧美久久久精品|