首頁(yè) 資訊 華為運(yùn)動(dòng)健康A(chǔ)pp開(kāi)放授權(quán)

華為運(yùn)動(dòng)健康A(chǔ)pp開(kāi)放授權(quán)

來(lái)源:泰然健康網(wǎng) 時(shí)間:2025年06月09日 19:17

開(kāi)發(fā)者想訪問(wèn)華為運(yùn)動(dòng)健康A(chǔ)pp的數(shù)據(jù),需要引導(dǎo)用戶開(kāi)啟華為運(yùn)動(dòng)健康A(chǔ)pp對(duì)Health Service Kit的開(kāi)放授權(quán)(如不需要,請(qǐng)忽略此章節(jié))。

說(shuō)明

提供如下幾種方式去開(kāi)啟華為運(yùn)動(dòng)健康A(chǔ)pp對(duì)Health Service Kit的開(kāi)放授權(quán):

開(kāi)發(fā)者調(diào)用隱私授權(quán)狀態(tài)查詢接口查詢用戶是否打開(kāi)華為運(yùn)動(dòng)健康服務(wù)開(kāi)關(guān),若開(kāi)關(guān)關(guān)閉則提示用戶前往華為運(yùn)動(dòng)健康A(chǔ)pp開(kāi)啟,路徑如下: Android手機(jī):在華為運(yùn)動(dòng)健康A(chǔ)pp的“我的 > 隱私管理 > 華為運(yùn)動(dòng)健康服務(wù)”中開(kāi)啟該授權(quán)。 iOS手機(jī):在華為運(yùn)動(dòng)健康A(chǔ)pp的“我的 > 第三方服務(wù) > 華為運(yùn)動(dòng)健康服務(wù)”中開(kāi)啟該授權(quán)。 參照本章節(jié)通過(guò)Health Service Kit云側(cè)提供的H5頁(yè)面關(guān)聯(lián)華為運(yùn)動(dòng)健康服務(wù) 用戶認(rèn)證鑒權(quán)后,應(yīng)用即拉取關(guān)聯(lián)華為運(yùn)動(dòng)健康服務(wù)頁(yè)面(認(rèn)證鑒權(quán)與關(guān)聯(lián)華為運(yùn)動(dòng)健康服務(wù)均依賴用戶華為賬號(hào)登錄,此方法可依賴cookie能力,減少華為賬號(hào)二次登錄)。 開(kāi)發(fā)者在為用戶提供的“手動(dòng)同步”功能中,調(diào)用隱私授權(quán)狀態(tài)查詢接口判斷狀態(tài),如果用戶沒(méi)有開(kāi)啟開(kāi)關(guān),拉起H5授權(quán)連接頁(yè)面。

開(kāi)發(fā)者調(diào)用Health Service Kit云側(cè)提供的H5頁(yè)面關(guān)聯(lián)華為運(yùn)動(dòng)健康服務(wù)的操作如下:

通過(guò)重定向用戶瀏覽器(或手機(jī)/桌面應(yīng)用中的瀏覽器組件)到授權(quán)連接頁(yè)面的URL,拉起H5授權(quán)連接頁(yè)面。

其中,可供開(kāi)發(fā)者修改的參數(shù)如下:

參數(shù)名稱

是否必選

參數(shù)說(shuō)明

display

授權(quán)頁(yè)面展示風(fēng)格規(guī)則:PC端為“page”、移動(dòng)端為“touch”。默認(rèn)為“page”。

state

用于字體語(yǔ)言種類展示,默認(rèn)為美式英文(en-us)。

例如:“client_id”為“101489619”的應(yīng)用,在通過(guò)認(rèn)證鑒權(quán)功能之后,想要訪問(wèn)華為運(yùn)動(dòng)健康A(chǔ)pp的數(shù)據(jù),并且以中文的方式“zh-cn”進(jìn)行展示此頁(yè)面,則應(yīng)用需要重定向用戶的瀏覽器到如下URL:

說(shuō)明

“client_id=106804381”不支持修改,該client_id是方便開(kāi)發(fā)者連接華為運(yùn)動(dòng)健康A(chǔ)pp隱私開(kāi)關(guān)的專屬應(yīng)用,同時(shí)不支持開(kāi)發(fā)者應(yīng)用的認(rèn)證鑒權(quán)。因此,直接使用即可。

此過(guò)程中需要,用戶登錄華為賬號(hào),跳轉(zhuǎn)到連接頁(yè)面,用戶點(diǎn)擊即可,如下圖所示:

Android客戶端

采用WebView的addJavascriptInterface方法實(shí)現(xiàn)客戶端與前端的交互。

通過(guò)Webview.addJavascriptInterface(Object object, "jsToAndroid")方法將java對(duì)象注入到Webview。

說(shuō)明

請(qǐng)使用"jsToAndroid"名稱注入到網(wǎng)頁(yè)框架中,以保持與前端定義的一致性。

通過(guò)@JavascriptInterface注解實(shí)現(xiàn)resultCodeProc(String result)方法,目的是對(duì)返回值進(jìn)行接收和處理。

示例代碼如下:

iOS客戶端

在實(shí)現(xiàn)了WebKit的addScriptMessageHandler:name: 方法里,添加處理與用戶點(diǎn)擊“連接”按鈕結(jié)果返回碼相關(guān)的交互消息。

在初始化 WKUserContentController 時(shí),通過(guò)[WKUserContentController addScriptMessageHandler:self name:@"jsToObj"]注冊(cè)監(jiān)聽(tīng)名稱為"jsToObj"的消息。

說(shuō)明

為了防止循環(huán)依賴,在-viewWillAppear:方法中執(zhí)行addScriptMessageHandler操作,在-viewWillDisappear:方法中執(zhí)行removeScriptMessageHandlerForName操作。

當(dāng)前端完成回調(diào)時(shí),可以在-userContentController:didReceiveScriptMessage:方法,讀取"jsToObj"的message.body消息數(shù)據(jù),作為用戶點(diǎn)擊“連接”按鈕的返回結(jié)果。

示例代碼如下:

返回結(jié)果說(shuō)明

resultCode

說(shuō)明

0

華為運(yùn)動(dòng)健康A(chǔ)pp開(kāi)放授權(quán)成功

401

華為運(yùn)動(dòng)健康A(chǔ)pp開(kāi)放授權(quán)失敗

相關(guān)知識(shí)

開(kāi)啟華為運(yùn)動(dòng)健康數(shù)據(jù)開(kāi)放服務(wù)
華為運(yùn)動(dòng)健康A(chǔ)pp
在運(yùn)動(dòng)健康A(chǔ)pp內(nèi)開(kāi)啟華為運(yùn)動(dòng)健康服務(wù)
華為運(yùn)動(dòng)健康A(chǔ)pp運(yùn)動(dòng)數(shù)據(jù)如何同步到三方App
華為運(yùn)動(dòng)健康A(chǔ)pp計(jì)步
【圖片】華為運(yùn)動(dòng)健康A(chǔ)pp運(yùn)動(dòng)數(shù)據(jù)如何同步到三方App
華為健康運(yùn)動(dòng)app下載
華為健康運(yùn)動(dòng)app語(yǔ)言可以設(shè)置嗎 華為運(yùn)動(dòng)健康如何調(diào)中文?
華為運(yùn)動(dòng)健康A(chǔ)pp同步運(yùn)動(dòng)數(shù)據(jù)至Keep
小米運(yùn)動(dòng)健康A(chǔ)PP怎么取消微信運(yùn)動(dòng)授權(quán)

網(wǎng)址: 華為運(yùn)動(dòng)健康A(chǔ)pp開(kāi)放授權(quán) http://m.gysdgmq.cn/newsview1389020.html

推薦資訊