女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

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

OpenHarmony技術社區 ? 來源:鴻蒙技術社區 ? 作者: dsttl3點cn ? 2021-10-11 14:21 ? 次閱讀

前期準備

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

https://open.weibo.com/connect

進入正題

①創建一個登錄頁面的 Ability

因為使用的是網站接入的方式,所以登錄使用 WebView 來實現。

登錄頁布局文件:

<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
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • webview
    +關注

    關注

    0

    文章

    7

    瀏覽量

    3240
  • HarmonyOS
    +關注

    關注

    79

    文章

    2027

    瀏覽量

    32076

原文標題:HarmonyOS微博第三方登錄實現

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

    近日,國際公認的測試、檢驗和認證機構SGS(以下簡稱:SGS)位于重慶的標瑞新能源實驗室(以下簡稱:SGS-CEC)榮獲比亞迪乘用車實驗室認可委員會(以下簡稱:比亞迪)頒發的“乘用車第三方實驗室資質認可證書”。
    的頭像 發表于 05-20 15:04 ?205次閱讀

    第三方的DLP3010-LC開發板USB轉I2C失敗怎么解決?

    我們從第三方光機廠商購買了DLP3010-LC開發板,該開發板對外只有I2C接口,需要自己購買了USB轉I2C模塊,于是我們購買了TI推薦的CYPRESS的CY7C65215開發板USB轉I2C橋
    發表于 02-28 06:51

    第三方的dlp3010板子時遇到的幾個問題求解

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

    北匯信息再次獲得長城汽車的第三方實驗室認可證書及認可項目擴項

    北匯信息再次獲得長城汽車的第三方實驗室認可證書及認可項目擴項
    的頭像 發表于 02-19 10:04 ?317次閱讀
    北匯信息再次獲得長城汽車的<b class='flag-5'>第三方</b>實驗室認可證書及認可項目擴項

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

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

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

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

    武漢第三方坐標測量檢測中心協助外地用戶完成產品驗收

    武漢易測儀器公司為武漢小鵬汽車提供坐標測量服務,精準調整檢具并驗收合格。企業尋求本地坐標檢測機構可節約成本,第三方機構確保數據公正,提升產品質量和客戶信任。
    的頭像 發表于 01-03 13:47 ?325次閱讀
    武漢<b class='flag-5'>第三方</b><b class='flag-5'>三</b>坐標測量檢測中心協助外地用戶完成產品驗收

    第三方檢測機構該如何提升核心競爭力?

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

    鴻蒙Flutter實戰:05-使用第三方插件

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

    瑞芯RK3566鴻蒙開發板Android11修改第三方輸入法為默認輸入法

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

    維天地低代碼開發平臺助力第三方質檢行業數據可視化

    第三方檢驗是由獨立于買賣雙方利益之外的第三方機構(例如專業的監督檢驗機構)執行的,這些機構以公正、公平、權威的非當事人身份,依據雙方共同認可的法律、標準和合同等進行商品的符合性檢驗和認證活動
    的頭像 發表于 08-09 13:59 ?479次閱讀
    <b class='flag-5'>三</b>維天地低<b class='flag-5'>代碼</b>開發平臺助力<b class='flag-5'>第三方</b>質檢行業數據可視化

    炬芯科技低功耗藍牙SoC通過Apple授權第三方測試機構合規性驗證

    近期,炬芯科技ATB1113系列低功耗藍牙SoC成功通過Apple授權第三方測試機構的各項合規性驗證,已全面兼容Find My network accessory的最新規格和功能要求,可為第三方硬件
    的頭像 發表于 08-07 09:46 ?786次閱讀

    請問esp8266會開放使用第三方云服務器嗎?

    如題,esp8266會開放使用第三方云服務器嗎,如百度,阿里云服務器?
    發表于 07-12 11:40

    是否有可能在支持gdb的第三方集成開發環境中使用DAS配置調試?

    是否有可能在支持 gdb 的第三方集成開發環境中使用 DAS 配置調試?
    發表于 07-02 07:29

    iOS漏洞:第三方應用可創建動畫圖標

    5月28日消息,開發者布萊斯·波斯特維克(Bryce Bostwick)在5月27日公布其發現,稱iOS系統存有漏洞,使第三方應用得以調用官方API,進而制作出動態應用圖標。
    的頭像 發表于 05-28 14:33 ?797次閱讀