当前位置:网站首页>[FAQ] résumé des problèmes courants et des solutions lors de l'utilisation de l'interface API rest du Service de santé sportive

[FAQ] résumé des problèmes courants et des solutions lors de l'utilisation de l'interface API rest du Service de santé sportive

2022-06-10 13:36:00 Nginx

Huawei Sports Health Service(HUAWEI Health Kit)Pour les applications écologiques tripartitesREST APIInterface,Accès à la base de données via son interface,.Fournir aux utilisateurs des services de données sur la santé sportive.Dans le processus d'intégration pratique,Les développeurs peuvent rencontrer une variété de problèmes,Ici, nous allons partager et résumer les questions typiques,J'aimerais fournir des références à d'autres développeurs qui ont des problèmes similaires.
1.Après l'inscription à la notification d'abonnement,Échec de la vérification de la connectivité
Après s'être inscrit comme abonné,Lors de l'essai d'une adresse de notification de rappel de contrôle de connectivité,Conseils“Échec de la vérification de la connectivité,Réponse au contrôle de connectivité non204”.

Analyse des causes:
Lorsque l'adresse de notification de rappel est accessible,Le développeur doit confirmer l'adresse de notification de rappel de l'abonnementHTTPLe Code d'état est - il204,Sinon, il reviendra404Indique que la vérification de la connectivité de l'adresse de rappel a échoué.
Voir la documentation des données d'abonnement
Solutions:
Vérifier si le lien est disponible,Et si le Code d'état retourné est204.
2.La somme des étapes retournées par l'interface statistique des données d'échantillonnage n'est pas compatible avec la somme calculée par vous - même après avoir obtenu les données détaillées des étapes
Utilisez l'interface d'interrogation statistique des données d'échantillonnage pour obtenir la somme des étapes
Interface de requête statistique:https://health-api.cloud.huawei.com/healthkit/v1/sampleSet:polymerize
Paramètres de demande:
  
 
 
  1. {
  2. "polymerizeWith": [
  3. {
  4. ": 1651809600000,
  5. "startTime": 1651766400000,
  6. "groupByTime": {
  7. "groupPeriod": {
  8. "timeZone": "+0800",
  9. "unit": "day",
  10. "value": 1
  11. }
  12. }
  13. }
Le résultat final des étapes retournées est 7118

Obtenir les détails des étapes à l'aide de l'interface d'interrogation des détails des données d'échantillonnage , Et calculer la somme
Interface de requête détaillée :https://health-api.cloud.huawei.com/healthkit/v1/sampleSet:polymerize
Paramètres de demande:
  
 
 
  1. {
  2. "polymerizeWith": [
  3. {
  4. "dataTypeName": "com.huawei.continuous.steps.delta"
  5. }
  6. ],
  7. "endTime": 1651809600000,
  8. "startTime": 1651766400000
  9. }
La somme des étapes calculées à partir des résultats retournés est: 6280

Les données montrent que, Dans le même délai , La somme des étapes retournées par l'interface statistique des données d'échantillonnage est incompatible avec la somme calculée à partir des détails des étapes. .
Analyse des causes:
Est le résultat de différents mécanismes de ventilation et de statistiques . Les détails et les statistiques sont présentés séparément. ,Pour diverses raisons, Les données détaillées peuvent être perdues ou retardées , Ce qui fait que les deux données ne correspondent pas exactement .
Deuxièmement,, En comptant les données d'une journée , Lorsque les conditions d'agrégation sont les paramètres suivants (Voir ci - dessous), Les statistiques déclarées sont retournées , Au lieu de données calculées à partir de données détaillées .

Solutions:
Lors de la requête statistique des données d'échantillonnage , Agrégation dans le temps ,EntréegroupByTimeParamètres,groupByTimeParamètres intermédiairesdurationParamètres.
Paramètres de demande:
  
 
 
  1. {
  2. "polymerizeWith": [
  3. {
  4. "dataTypeName": "com.huawei.continuous.steps.delta"
  5. }
  6. ],
  7. "endTime": 1651809600000,
  8. "startTime": 1651766400000,
  9. "groupByTime": {
  10. "duration": 86400000
  11. }
  12. }
Le résultat final est6280, Correspond à la somme calculée à partir des détails des étapes .

3.Code d'erreur403,Message d'erreur“Insufficient Permission: Request had insufficient authentication scopes.”

Analyse des causes:
403 Pour refuser la demande ,SurtoutscopesPermissions insuffisantes, Entraînant le rejet de la demande .
Solutions:
(1) Vérifier si les permissions pertinentes sont demandées dans la carte de l'Alliance .

(2) Vérifier si l'autorisation d'authentification a été transférée dans la demande , Et si l'autorisation de consentement est donnée sur la page d'autorisation .

L'authentification a - t - elle été transférée à l'autorisation demandée?
Si l'autorisation est cochée dans l'interface d'autorisation

4.Code d'erreur400,Message d'erreur“Insufficient Permission: Request had insufficient authentication scopes.”
CAS: Détails des données d'échantillonnage pour le nombre d'étapes de la requête
Description des paramètres:
Access Token: Authentifié selon la première authentification code Génération de code .
Date de la première authentification (Première générationcode L'heure des Yards ):2022Année5Mois7Jour matin8À gauche et à droite..
Début de la collecte des données :
Heure de début:2022-05-06 00:00:00(1651766400000)
Fin de l'heure:2022-05-06 12:00:00(1651809600000)
Demandes spécifiques,Voir ci - dessous:

Résultats de la réponse:

Analyse des causes:
Lors de l'interrogation des données, Pour la protection des données des utilisateurs , Autoriser les développeurs à interroger uniquement les données après l'autorisation de l'utilisateur . Si vous devez interroger les données avant l'autorisation de l'utilisateur , Les développeurs doivent obtenir “Lire les données historiques” Autorisation d'autorisation , Si l'utilisateur n'a pas accordé cette permission , Si l'heure de début définie par le développeur lors de la requête de données est antérieure à l'heure d'autorisation de l'utilisateur , L'heure de début est automatiquement corrigée à l'heure de la première autorisation de l'utilisateur. , Cela provoquera une erreur de requête (code:400,message: “Invalid startTime or endTime.”) Ou ne peut interroger que les données après l'autorisation de l'utilisateur , Décalage avec l'heure de début fixée .
Prenons l'exemple de la question , Parce que l'utilisateur n'a pas accordé “Lire les données historiques”Permission de, Au début de 5Mois6Jour, La première autorisation a été accordée à 5Mois7 Dans le cas du jour , L'heure de début est automatiquement corrigée à l'heure de première autorisation ,C'est - à - dire5Mois7Jour, Cela fait que l'heure de début corrigée est postérieure à l'heure de fin. , C'est pourquoi le Code d'erreur est retourné 400,Message d'erreur"Invalid startTime or endTime.".
Solutions:
(1)VérifiezHealth Kit Avez - vous demandé sur la carte de l'Alliance “Lire les données historiques”Autorité, Cette permission est visible dans l'application serveur

(2)Générer un code d'autorisationcodeHeure, InscopeAjouter"https://www.huawei.com/healthkit/historydata.open"Autorité, L'utilisateur peut accorder l'application après s'être connecté au compte Huawei “Lire les données historiques”.
Données à interroger après autorisation :

En savoir plus>>
Visitez le site Web de Huawei Sports Health Service Alliance
Accès à la solution Huawei Sports Health scene
Obtenir le document d'orientation sur le développement des services de santé sportive de Huawei


   
   
   
                        

原网站

版权声明
本文为[Nginx]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/161/202206101318592749.html