日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

第三方登录android代码,Android Learning:微信第三方登录(示例代码)

發(fā)布時(shí)間:2023/12/10 Android 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第三方登录android代码,Android Learning:微信第三方登录(示例代码) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這兩天,解決了微信第三方授權(quán)登錄的問(wèn)題,作為一個(gè)新手,想想也是一把辛酸淚。我想著,就把我的遇到的坑給大家分享一下,避免新手遇到我這樣的問(wèn)題能夠順利避開(kāi)。

步驟一 微信開(kāi)發(fā)者平臺(tái)

我開(kāi)始的解決思路是,去

這個(gè)API文檔的主要意思呢,有三點(diǎn):

1、你得下載這幾樣?xùn)|西(

2、如果你自己的APP想要微信第三方授權(quán),你得去申請(qǐng)一個(gè)APPID,這個(gè)APPID呢,就是微信給咱們APP分配的一個(gè)代號(hào)。當(dāng)然微信不是免費(fèi)給你服務(wù),為了獲得這個(gè)第三方授權(quán)的功能,你得給微信交300塊錢(qián)。申請(qǐng)到這個(gè)授權(quán)之后,你需要填寫(xiě)一個(gè)應(yīng)用包名,和一個(gè)應(yīng)用簽名。

應(yīng)用包名

應(yīng)用簽名

使用簽名生成工具,輸入包名,查詢(xún)到應(yīng)用簽名

3、然后打開(kāi)DEMO

程序的入口WXEntryActivity是我們所最需要關(guān)注的

// 微信發(fā)送請(qǐng)求到第三方應(yīng)用時(shí),會(huì)回調(diào)到該方法

@Override

public void onReq(BaseReq req) {

// TODO

}

當(dāng)點(diǎn)擊授權(quán)登陸的界面的時(shí)候,會(huì)自動(dòng)調(diào)用這個(gè)onResp方法,所以我們可以在這里面取得所需要token。注意andorid里叫token,ios里面叫code,而不是因?yàn)閟dk版本的問(wèn)題,這是需要注意的。

// 第三方應(yīng)用發(fā)送到微信的請(qǐng)求處理后的響應(yīng)結(jié)果,會(huì)回調(diào)到該方法

@Override

public void onResp(BaseResp resp) {

int result = 0;

switch (resp.errCode) {

case BaseResp.ErrCode.ERR_OK:

result = R.string.errcode_success;

/*獲取token*/

SendAuth.Resp sendResp = (SendAuth.Resp) resp;

String code = sendResp.token;

Log.d("Tag", "code\t" + code);

break;

case BaseResp.ErrCode.ERR_USER_CANCEL:

result = R.string.errcode_cancel;

break;

case BaseResp.ErrCode.ERR_AUTH_DENIED:

result = R.string.errcode_deny;

break;

default:

result = R.string.errcode_unknown;

break;

}

APP_ID 替換為你的應(yīng)用從官方網(wǎng)站申請(qǐng)到的合法appId

public class Constants {

// APP_ID 替換為你的應(yīng)用從官方網(wǎng)站申請(qǐng)到的合法appId

public static final String APP_ID = "wx77777";

}

// IWXAPI 是第三方app和微信通信的openapi接口

private IWXAPI api;

final SendAuth.Req req = new SendAuth.Req();

req.scope = "snsapi_userinfo";

req.state = "wechat_sdk_demo_test";

//發(fā)送授權(quán)登陸請(qǐng)求

api.sendReq(req);

這一步就是和微信要code。執(zhí)行了這一段代碼之后。微信會(huì)調(diào)用剛才WXEntityActivity類(lèi)里面的onResp()方法。并且把code返回來(lái)了。見(jiàn)上面那一段代碼。獲取到code之后就可以通過(guò)code獲取access_token了。

請(qǐng)求以下鏈接獲取access_token:

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

這步和微信通信獲得access_token就是普通的訪問(wèn)鏈接。 用httpClient就行了,而不是接入指南里說(shuō)的那個(gè)和微信通信的方法onReq().然后還是這樣的方式通過(guò)access_token.就可以調(diào)用接口獲得用戶(hù)基本信息了。具體返回參數(shù)什么的接入指南里面說(shuō)的很清楚。至此微信授權(quán)基本是成功了。

這里,我們要添加Custom debug keystore。上面的那個(gè)debug keystore不會(huì)和微信通信。

而我們添加的這個(gè)keystore 也要符合一些規(guī)范所以要改一改。

不過(guò)在開(kāi)發(fā)的過(guò)程中要注意一下debug keystore。

步驟二 Android studio如何生成keystore文件

第一步 創(chuàng)建簽名文件

第二步 填寫(xiě)簽名參數(shù)

第三步 選擇構(gòu)建類(lèi)型

第四步 查看生成第apk文件

步驟三 Android studio如何定位keystore文件

在運(yùn)行微信分享Demo及新浪微博分享Demo時(shí),需要修改使用Demo中的debug.keystore才能運(yùn)行授權(quán)及和分享。

在進(jìn)行Android開(kāi)發(fā)中,所用到的工具,就Eclispse和Android Studio比較多。其中,使用Eclipse里修改debug.keystore的方式新浪微博文檔有介紹,在Eclipse里點(diǎn)擊"Windows-->Preferences-->Android-->Build",在右邊的"Custom debug keystore"選擇Demo中的debug.keystore即可。

在Android Studio中的做法是"Project Structure"中“Modules”中的應(yīng)用的模塊。然后選擇"Signing",點(diǎn)擊"+"號(hào),起名為“debug”,并在“Store File”里選擇Demo中的debug.keystore,如下圖

然后在選擇“Build Types”在“debug”中的"Signing Config"選擇上面配置的"debug",如下圖

點(diǎn)擊“OK”,重新編譯就可以了。

通過(guò)上面配置完后,會(huì)自動(dòng)在項(xiàng)目模塊中的build.gradle里的android {}里生成

signingConfigs?{

debug?{

storeFile?file(‘.keystore里文件路徑‘)

}

}

以及在buildTypes里生成

debug?{

signingConfig?signingConfigs.debug

}

當(dāng)然啦,可以不用界面配置,直接在build.gradle里寫(xiě)上面的配置也都OK的

步驟四 獲取簽名 填寫(xiě)到微信開(kāi)發(fā)者平臺(tái)

接下來(lái)將定位到j(luò)ks文件的工程燒寫(xiě)到程序中,然后將簽名工具的MD碼填寫(xiě)到微信開(kāi)發(fā)者平臺(tái),就能調(diào)用第三方授權(quán)登陸了。

效果圖

參考鏈接:

總結(jié)

以上是生活随笔為你收集整理的第三方登录android代码,Android Learning:微信第三方登录(示例代码)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。