91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

HarmonyOS微博第三方登錄實(shí)現(xiàn)(內(nèi)附代碼)

OpenHarmony技術(shù)社區(qū) ? 來源:鴻蒙技術(shù)社區(qū) ? 作者: dsttl3點(diǎn)cn ? 2021-10-11 14:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前期準(zhǔn)備

在微博開放平臺(tái)注冊(cè)一個(gè)網(wǎng)站應(yīng)用,微博開放平臺(tái)地址如下:

https://open.weibo.com/connect

進(jìn)入正題

①創(chuàng)建一個(gè)登錄頁面的 Ability

因?yàn)槭褂玫氖蔷W(wǎng)站接入的方式,所以登錄使用 WebView 來實(shí)現(xiàn)。

登錄頁布局文件:

<DirectionalLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:orientation="vertical">

<ohos.agp.components.webengine.WebView
ohos:id="$+id:WebView_weibologin"
ohos:height="match_parent"
ohos:width="match_parent"/>

DirectionalLayout>

②在登錄頁 AbilitySlice 中對(duì) WebView 進(jìn)行設(shè)置。

publicvoidonStart(Intentintent){
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_ability_wei_bo_login);

WebViewmyWebView=(WebView)findComponentById(ResourceTable.Id_WebView_weibologin);
myWebView.getWebConfig().setJavaScriptPermit(true);

//自定義WebAgent用于登錄的相關(guān)操作
myWebView.setWebAgent(newWebAgent(){

//isNeedLoadUrl當(dāng)WebView即將打開一個(gè)鏈接時(shí)會(huì)調(diào)用此方法
@Override
publicbooleanisNeedLoadUrl(WebViewwebView,ResourceRequestrequest){
//request.getRequestUrl().toString().startsWith("sinaweibo")
//當(dāng)請(qǐng)求鏈接為sinaweibo開頭(點(diǎn)擊網(wǎng)頁上一鍵登錄會(huì)喚起微博客戶端)時(shí),使用下面的方法喚起微博客戶端。
if(request.getRequestUrl().toString().startsWith("sinaweibo")){
Intentintent=newIntent();
intent.setAction("android.intent.action.VIEW");
intent.setUri(Uri.parse(request.getRequestUrl().toString()));
intent.addFlags(Intent.FLAG_ABILITY_NEW_MISSION);
startAbility(intent);
returnfalse;
}

//當(dāng)在微博客戶端授權(quán)后,會(huì)重定向至定義的網(wǎng)址,示例中重定向至https://api.dsttl3.cn/?code=【code的值】,這時(shí)候就可以從鏈接中獲取到code進(jìn)行下一步了。這里把code傳入下個(gè)頁面
if(request.getRequestUrl().toString().startsWith("https://api.dsttl3.cn)){
Stringcode=request.getRequestUrl().toString().substring(28);
Intentintent=newIntent();
//在intent中帶上code
intent.setParam("code",code);
Operationoperation=newIntent.OperationBuilder()
.withDeviceId("")
.withBundleName("cn.dsttl3.dome.weibologin")
.withAbilityName("cn.dsttl3.dome.weibologin.MyAbility")
.build();
intent.setOperation(operation);
startAbility(intent);
//結(jié)束當(dāng)前Ability
terminateAbility();
}
returntrue;
}
});
//授權(quán)連接,需要自己修改
myWebView.load("https://api.weibo.com/oauth2/authorize?client_id=2593566539&response_type=code&forcelogin=false&scope=all&redirect_uri=https%3A%2F%2Fapi.dsttl3.cn");
}

③獲取到 code 后,在 MyAbility 中獲取微博 token。

publicvoidonStart(Intentintent){
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_ability_my);
Texttext=(Text)findComponentById(ResourceTable.Id_text_helloworld);
Stringcode=intent.getStringParam("code");
newThread(newRunnable(){
@Override
publicvoidrun(){
try{
StringYOUR_CLIENT_ID="2593566539";
StringYOUR_CLIENT_SECRET="383fc6262e954e18f5b7efe3c9899284";
StringYOUR_REGISTERED_REDIRECT_URI="https://api.dsttl3.cn";
StringACCESS_TOKEN_URL="https://api.weibo.com/oauth2/access_token";
OkHttpClientclient=newOkHttpClient();
FormBodybody=newFormBody.Builder()
.add("client_id",YOUR_CLIENT_ID)
.add("client_secret",YOUR_CLIENT_SECRET)
.add("grant_type","authorization_code")
.add("redirect_uri",YOUR_REGISTERED_REDIRECT_URI)
.add("code",code).build();
RequestokRequest=newRequest.Builder().url(ACCESS_TOKEN_URL).header("referer",YOUR_REGISTERED_REDIRECT_URI).post(body).build();
Callcall=client.newCall(okRequest);
Responsere=call.execute();
Strings=re.body().string();
Gsongson=newGson();
WeiBoTokenJsonw=gson.fromJson(s,WeiBoTokenJson.class);
getUITaskDispatcher().asyncDispatch(newRunnable(){
@Override
publicvoidrun(){
text.setText("登錄成功:token="+w.getAccess_token());
}
});
}catch(IOExceptione){
e.printStackTrace();
}
}
}).start();
獲取微博 Token 完成。
編輯:jq
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • webview
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    3274
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2126

    瀏覽量

    33051

原文標(biāo)題:HarmonyOS微博第三方登錄實(shí)現(xiàn)

文章出處:【微信號(hào):gh_834c4b3d87fe,微信公眾號(hào):OpenHarmony技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何集成第三方支付API到電商網(wǎng)站

    ? 在電商網(wǎng)站中,集成第三方支付API是確保交易安全、提升用戶體驗(yàn)的關(guān)鍵步驟。本文將逐步指導(dǎo)您完成整個(gè)流程,從選擇支付提供商到上線后的監(jiān)控。文章結(jié)構(gòu)清晰,包含代碼示例和實(shí)用建議,幫助您高效實(shí)現(xiàn)支付
    的頭像 發(fā)表于 07-16 10:35 ?17次閱讀
    如何集成<b class='flag-5'>第三方</b>支付API到電商網(wǎng)站

    天合跟蹤獲得DNV第三方風(fēng)洞測試審查報(bào)告

    近日, 天合跟蹤獲得DNV頒發(fā)的中國支架行業(yè)首張風(fēng)洞實(shí)驗(yàn)第三方審查報(bào)告。該風(fēng)洞報(bào)告由天合跟蹤與同濟(jì)大學(xué)合作,針對(duì)開拓者1P跟蹤支架進(jìn)行了全新的剛性模型測壓試驗(yàn)和先進(jìn)動(dòng)力學(xué)分析研究,并由DNV進(jìn)行獨(dú)立
    的頭像 發(fā)表于 07-08 17:35 ?244次閱讀

    使用 Claroty SRA 優(yōu)化第三方 OT 遠(yuǎn)程訪問

    第三方,如原始設(shè)備制造商 (OEM) 技術(shù)員和維護(hù)承包商,是確保 OT 環(huán)境可用性、完整性和安全性的關(guān)鍵。負(fù)責(zé)服務(wù) OT 資產(chǎn)的第三方經(jīng)常遠(yuǎn)程工作。這意味著,他們會(huì)通過無數(shù)廣泛使用的解決方案遠(yuǎn)程連接
    的頭像 發(fā)表于 06-17 16:11 ?187次閱讀
    使用 Claroty SRA 優(yōu)化<b class='flag-5'>第三方</b> OT 遠(yuǎn)程訪問

    第三方工業(yè)互聯(lián)網(wǎng)平臺(tái)有哪些

    第三方工業(yè)互聯(lián)網(wǎng)平臺(tái)有哪些
    的頭像 發(fā)表于 06-14 15:48 ?277次閱讀

    鈦和集團(tuán)榮獲零跑汽車第三方實(shí)驗(yàn)室資質(zhì)認(rèn)可

    近期,鈦和集團(tuán)順利通過了浙江零跑科技股份有限公司(以下簡稱“零跑汽車”)對(duì)第三方實(shí)驗(yàn)室的能力驗(yàn)證及資質(zhì)審核,助力零跑汽車實(shí)現(xiàn)“成為值得尊敬的世界級(jí)智能電動(dòng)車企”的品牌愿景。
    的頭像 發(fā)表于 06-13 17:00 ?475次閱讀

    鈦和集團(tuán)榮獲吉利汽車第三方實(shí)驗(yàn)室資質(zhì)認(rèn)可

    近期,鈦和集團(tuán)汽車事業(yè)部順利通過了浙江吉利控股集團(tuán)有限公司(以下簡稱“吉利汽車”)對(duì)外部實(shí)驗(yàn)室的能力驗(yàn)證及資質(zhì)審核,并獲得了第三方實(shí)驗(yàn)室認(rèn)可證書,助力吉利汽車實(shí)現(xiàn)“讓世界充滿吉利”的品牌愿景。
    的頭像 發(fā)表于 06-10 15:03 ?494次閱讀

    SGS榮獲比亞迪乘用車第三方實(shí)驗(yàn)室資質(zhì)認(rèn)可證書

    近日,國際公認(rèn)的測試、檢驗(yàn)和認(rèn)證機(jī)構(gòu)SGS(以下簡稱:SGS)位于重慶的標(biāo)瑞新能源實(shí)驗(yàn)室(以下簡稱:SGS-CEC)榮獲比亞迪乘用車實(shí)驗(yàn)室認(rèn)可委員會(huì)(以下簡稱:比亞迪)頒發(fā)的“乘用車第三方實(shí)驗(yàn)室資質(zhì)認(rèn)可證書”。
    的頭像 發(fā)表于 05-20 15:04 ?437次閱讀

    第三方的dlp3010板子時(shí)遇到的幾個(gè)問題求解

    您好,在用第三方的dlp3010板子時(shí)遇到了如下問題: 固件能夠更新,系統(tǒng)上電后,初始proj_on為低,resetz為低,intz為低;手動(dòng)拉高proj_on和cypress的gpio6,能夠
    發(fā)表于 02-26 07:19

    i.MX8M Yocto工程更新第三方軟件包

    NXPi.MX8M系列依托于Yocto工程進(jìn)行簡單快捷的配置,可以方便增刪第三方軟件包以及更改內(nèi)核、Uboot源碼等。目前有些客戶希望能夠升級(jí)Yocto自帶軟件版本,這里就以我司
    的頭像 發(fā)表于 02-12 08:11 ?601次閱讀
    i.MX8M Yocto工程更新<b class='flag-5'>第三方</b>軟件包

    EE-303:將VisualDSP線程安全庫與第三方RTOS配合使用

    電子發(fā)燒友網(wǎng)站提供《EE-303:將VisualDSP線程安全庫與第三方RTOS配合使用.pdf》資料免費(fèi)下載
    發(fā)表于 01-07 14:09 ?0次下載
    EE-303:將VisualDSP線程安全庫與<b class='flag-5'>第三方</b>RTOS配合使用

    武漢第三方坐標(biāo)測量檢測中心協(xié)助外地用戶完成產(chǎn)品驗(yàn)收

    武漢易測儀器公司為武漢小鵬汽車提供坐標(biāo)測量服務(wù),精準(zhǔn)調(diào)整檢具并驗(yàn)收合格。企業(yè)尋求本地坐標(biāo)檢測機(jī)構(gòu)可節(jié)約成本,第三方機(jī)構(gòu)確保數(shù)據(jù)公正,提升產(chǎn)品質(zhì)量和客戶信任。
    的頭像 發(fā)表于 01-03 13:47 ?407次閱讀
    武漢<b class='flag-5'>第三方</b><b class='flag-5'>三</b>坐標(biāo)測量檢測中心協(xié)助外地用戶完成產(chǎn)品驗(yàn)收

    第三方檢測機(jī)構(gòu)該如何提升核心競爭力?

    在國家“一帶一路”和“智能制造2025”等政策的引領(lǐng)下,面對(duì)競爭日益激烈的國際環(huán)境,作為全球最大的制造業(yè)國家,中國的檢測行業(yè)正經(jīng)歷著迅猛的發(fā)展,成為全球增長最快、潛力最大的市場之一。 第三方檢測逐漸
    的頭像 發(fā)表于 12-17 15:44 ?861次閱讀
    <b class='flag-5'>第三方</b>檢測機(jī)構(gòu)該如何提升核心競爭力?

    鴻蒙Flutter實(shí)戰(zhàn):05-使用第三方插件

    # 鴻蒙Flutter 實(shí)戰(zhàn):使用第三方插件 在鴻蒙Flutter開發(fā)中,如果涉及到使用原生功能,就要使用插件。使用插件有兩種方式,一種是自己編寫原生ArkTS代碼,在Dart側(cè)調(diào)用。另外一種
    發(fā)表于 10-22 21:54

    瑞芯RK3566鴻蒙開發(fā)板Android11修改第三方輸入法為默認(rèn)輸入法

    本文適用于觸覺智能所有支持Android11系統(tǒng)的開發(fā)板修改第三方輸入法為默認(rèn)輸入法。本次使用的是觸覺智能的Purple Pi OH鴻蒙開源主板,搭載了瑞芯RK3566芯片,類樹莓派設(shè)計(jì),是Laval官方社區(qū)主薦的一款鴻蒙開發(fā)板。
    的頭像 發(fā)表于 09-24 09:43 ?1107次閱讀
    瑞芯<b class='flag-5'>微</b>RK3566鴻蒙開發(fā)板Android11修改<b class='flag-5'>第三方</b>輸入法為默認(rèn)輸入法

    維天地低代碼開發(fā)平臺(tái)助力第三方質(zhì)檢行業(yè)數(shù)據(jù)可視化

    第三方檢驗(yàn)是由獨(dú)立于買賣雙方利益之外的第三方機(jī)構(gòu)(例如專業(yè)的監(jiān)督檢驗(yàn)機(jī)構(gòu))執(zhí)行的,這些機(jī)構(gòu)以公正、公平、權(quán)威的非當(dāng)事人身份,依據(jù)雙方共同認(rèn)可的法律、標(biāo)準(zhǔn)和合同等進(jìn)行商品的符合性檢驗(yàn)和認(rèn)證活動(dòng)
    的頭像 發(fā)表于 08-09 13:59 ?603次閱讀
    <b class='flag-5'>三</b>維天地低<b class='flag-5'>代碼</b>開發(fā)平臺(tái)助力<b class='flag-5'>第三方</b>質(zhì)檢行業(yè)數(shù)據(jù)可視化
    主站蜘蛛池模板: 操你啦网站 | 性精品| 性欧美高清 | 男子扒开美女尿口做羞羞的事 | 色依依视频视频在线观看 | 国产精品 视频一区 二区三区 | 久久福利影视 | 日韩一区二区三区在线 | 狠狠干在线观看 | 亚洲加勒比在线 | 2019天天射干 | 欧美国产精品主播一区 | 久久久久国产精品四虎 | 久久免费特黄毛片 | 男人j进女人j免费视频视频 | 三级毛片网站 | 国产亚洲视频在线播放大全 | 色麒麟影院 | 国产综合久久久久影院 | 伊人丁香婷婷综合一区二区 | 欧美成人精品一区二三区在线观看 | 国产三级视频 | 日产精品卡二卡三卡四卡无卡乱码 | 在线高清一级欧美精品 | 久久综合九色综合网站 | 久久永久视频 | 色精品一区二区三区 | 性欧美17一18sex性高清 | 日韩毛片免费视频 | 99久久免费午夜国产精品 | 国内精品久久久久久久久蜜桃 | 人人艹人人干 | 巨骚综合网 | 真实女人寂寞偷人视频 | 天天干天天插天天射 | 欧美色淫网站免费观看 | 亚洲欧美日本综合 | 黄色国产视频 | 欧美ol丝袜高跟秘书在线播放 | 99久久伊人一区二区yy5099 | 天天色影综合网 |