日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

前期準備

在微博開放平臺注冊一個網站應用,微博開放平臺地址如下:

https://open.weibo.com/connect

進入正題

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

因為使用的是網站接入的方式,所以登錄使用 WebView 來實現(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 中對 WebView 進行設置。

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用于登錄的相關操作
myWebView.setWebAgent(newWebAgent(){

//isNeedLoadUrl當WebView即將打開一個鏈接時會調用此方法
@Override
publicbooleanisNeedLoadUrl(WebViewwebView,ResourceRequestrequest){
//request.getRequestUrl().toString().startsWith("sinaweibo")
//當請求鏈接為sinaweibo開頭(點擊網頁上一鍵登錄會喚起微博客戶端)時,使用下面的方法喚起微博客戶端。
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;
}

//當在微博客戶端授權后,會重定向至定義的網址,示例中重定向至https://api.dsttl3.cn/?code=【code的值】,這時候就可以從鏈接中獲取到code進行下一步了。這里把code傳入下個頁面
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);
//結束當前Ability
terminateAbility();
}
returntrue;
}
});
//授權連接,需要自己修改
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
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • webview
    +關注

    關注

    0

    文章

    7

    瀏覽量

    3403
  • HarmonyOS
    +關注

    關注

    80

    文章

    2157

    瀏覽量

    36321

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

文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術社區(qū)】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    傾斜儀是否支持接入第三方自動化采集系統(tǒng)?

    傾斜儀作為工程監(jiān)測的重要設備,其系統(tǒng)集成能力直接影響實際使用效果。針對是否支持第三方自動化采集系統(tǒng)的問題,答案是肯定的。YS系列傾斜儀在設計階段即考慮了系統(tǒng)的開放性和兼容性,能夠與市面上主流的自動化
    的頭像 發(fā)表于 03-25 17:25 ?416次閱讀
    傾斜儀是否支持接入<b class='flag-5'>第三方</b>自動化采集系統(tǒng)?

    為什么MES企業(yè)要跟第三方機構合作設備數(shù)據(jù)采集?

    實施風險降到最低,為客戶創(chuàng)造最大效益。“與其投入大量資源和精力去攻克自己不擅長的領域,不如通過合作來實現(xiàn)價值最大化——第三方機構負責采集數(shù)據(jù),MES企業(yè)負責用好數(shù)據(jù)”
    的頭像 發(fā)表于 03-19 15:03 ?880次閱讀
    為什么MES企業(yè)要跟<b class='flag-5'>第三方</b>機構合作設備數(shù)據(jù)采集?

    蘋果17可以無線充電嗎?第三方配件怎么選?

    iPhone 17無線充電提升車載體驗,支持Qi2.2,磁吸強、散熱好,第三方配件需認準MFM認證。
    的頭像 發(fā)表于 03-19 08:17 ?966次閱讀
    蘋果17可以無線充電嗎?<b class='flag-5'>第三方</b>配件怎么選?

    CW32W031調制頻率的話有第三方軟件工具么?

    請問,CW32W031調制頻率的話,有第三方軟件工具么?仿真軟件也行
    發(fā)表于 01-19 06:54

    DEKRA德凱獲得沃爾沃汽車第三方實驗室認可資質

    近日,DEKRA德凱上海實驗室成功通過沃爾沃汽車材料工程中心的嚴格評審,被正式列入其認可的第三方實驗室名單。
    的頭像 發(fā)表于 10-16 10:27 ?913次閱讀

    第三方電商數(shù)據(jù) API 數(shù)據(jù)來源深度解析:合規(guī)與穩(wěn)定背后的核心邏輯

    本文揭秘第三方電商數(shù)據(jù)API的底層邏輯:通過官方授權、生態(tài)共享與合規(guī)采集重來源,結合嚴格清洗校驗,確保數(shù)據(jù)穩(wěn)定、合規(guī)、高質。企業(yè)選型應關注來源合法性與場景匹配度,避開數(shù)據(jù)陷阱,實現(xiàn)真正數(shù)據(jù)驅動增長
    的頭像 發(fā)表于 10-11 13:55 ?482次閱讀

    SEGGER Ozone調試器支持第三方調試工具

    SEGGER強大的Ozone調試器和性能分析器,長期以來一直深受J-Link和J-Trace用戶的信任,現(xiàn)在可以支持第三方調試工具了。
    的頭像 發(fā)表于 09-29 11:45 ?1462次閱讀

    電子測試行業(yè)中的第三方檢測機構如何解決平臺靈活度低,維護困難等痛點問題?

    在競爭激烈的市場環(huán)境中,第三方檢測機構面臨著諸多挑戰(zhàn),尤其是在來料測試環(huán)節(jié)。某權威第三方檢測機構就曾深陷困境,他們一面要應對產品不確定性高與系統(tǒng)固化嚴重的矛盾,另一面還需解決已有系
    的頭像 發(fā)表于 08-06 17:07 ?994次閱讀
    電子測試行業(yè)中的<b class='flag-5'>第三方</b>檢測機構如何解決平臺靈活度低,維護困難等痛點問題?

    如何集成第三方支付API到電商網站

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

    天合跟蹤獲得DNV第三方風洞測試審查報告

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

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

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

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

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

    鈦和集團榮獲零跑汽車第三方實驗室資質認可

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

    鈦和集團榮獲吉利汽車第三方實驗室資質認可

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

    SGS榮獲比亞迪乘用車第三方實驗室資質認可證書

    近日,國際公認的測試、檢驗和認證機構SGS(以下簡稱:SGS)位于重慶的標瑞新能源實驗室(以下簡稱:SGS-CEC)榮獲比亞迪乘用車實驗室認可委員會(以下簡稱:比亞迪)頒發(fā)的“乘用車第三方實驗室資質認可證書”。
    的頭像 發(fā)表于 05-20 15:04 ?1262次閱讀
    万盛区| 鸡泽县| 称多县| 舞钢市| 长治县| 济宁市| 宾川县| 南江县| 象州县| 永修县| 安康市| 聂荣县| 南江县| 醴陵市| 安吉县| 调兵山市| 密山市| 特克斯县| 长海县| 化州市| 苏尼特左旗| 闻喜县| 德州市| 红河县| 南皮县| 新邵县| 九寨沟县| 常山县| 金溪县| 尉犁县| 西乌| 平陆县| 济源市| 桓台县| 右玉县| 普洱| 博客| 秭归县| 石台县| 南靖县| 台北市|