Health Kit Kullanırken Sıklıkla Karşılaşılan Problemler

Erman Derici
Huawei Developers - Türkiye
3 min readJan 29, 2024
Health Kit

Giriş

Merhabalar, eğer uygulamanıza veya backendinize HMS Health Kit’i entegre ederken problem ile karşılaştıysanız çok yüksek ihtimalle probleminizin çözümünü bu makalede bulabilirsiniz. Bu makale Health Kit kullanırken sıklıla karşılaşılan problemleri ele alacak ve çözüm önerileri sunuyor olacak.

Invalid Credentials

Bu hata oluşturduğunuz ve kullandığınız access tokende bir problem olduğu belirtiyor. Aşağıdaki adımları takip ederek çözebilirsiniz:

  • Oluşturduğunuz tokenin süresi dolmadığında ve hala geçerli olduğundan emin olun
  • OAuth 2.0 authorization adımlarına uyduğunuza emin olun
  • client_secret, client_id ve diğer değerleriniz doğru projenin değerleri olduğunu teyit edin.

403: Insufficient Permission: Request had insufficient authentication scopes

En sık karşılaşılan Health Kit hatası olabilir. Bu hata oluşturduğunuz authentication token ve access tokenleriniz gerekli izinlere sahip olmadığını belirtiyor.

Kullanıcıdan izin isterken gerekli scopeları linkinize eklemeyi unutmayın:

Authentication & authorization adımları

Fakat burdaki asıl problem, bu linke istediğiniz kadar data scope ekleyebiliyor olmanız. Eğer bu şekilde data scope eklerseniz hata alma ihtimaliniz çok yüksek. Buraya ekleyeceğiniz data scoplearı, Health Kit’e başvururken seçtiğiniz data scopelar olmalıdır, daha fazlasını eklerseniz bu hata ile karşılaşırsınız.

400 Bad Request invalidArgument

Bu hata kullandığınız isteğin parameterelerinde geçersiz ve desteklenmeyen türde değerler olduğunu ifade ediyor. Parameterlerinizi kontrol edin ve doğru türde olduklarından emin olun. Kullandığınız isteğin dökümantasyonuna bakarak hangi türde parametreler istediğine bakabilirsiniz.

Parametre Örneği

Huawei Health App içerisinde veri olmasına rağmen boş veri dönmesi

Bu problemin birden fazla sebebi olabilir. En yaygın çözüm ise Health App verinizi Huawei Cloud ile manuel senkronize etmek. Huawei Health içerisinde Me > Settings > Sync data manually sayfasında SYNC butonuna basarak manuel senkronizasyon yapabilirsiniz.

Alternatif olarak, Health App’in verisini Health Kit ile paylaşma özelliğini açtığınızdan emin olun. Health App içerisinde Me > Privacy management, sayfasında HUAWEI Health Kit seçeneğini aktif hale getirin.

Eğer problem hala devam ediyor ise isteğinizin parametrelerini tekrardan kontrol edin. Bazı veri tiplerinde, özellikle nanosaniye tipindeki verilerde problem yaşanabiliyor. Bazı parametreler nanosaniye cinsinden olarak belirtilmesine rağmen milisaniye cinsinde girdiğinizde hata kodu dönmüyor fakat boş veri döndürebiliyor

403 error code 121001 request forbidden due to site cross

Bu hata farklı bölgeler arasında veri trafiğinde yaşanıyor. Örnek olarak Avrupa’da olan bir kullanıcı Çin bölgesinden veriye erişmeye çalıştığında bu hata ile karşılaşılıyor.

En basit çözümü ise dönen response içerisindeki Location header verisini alıp URL’inizi bu veri ile değiştirmek:

Response içerisindeki Location verisi

No default dataCollector found for: *****

Bu hata ile request içerisinde desteklenmeyen bir veri tipi kullanıldığında karşılaşabiliyoruz. İsteğinizin desteklenen bir veri tipi içerdiğinden emin olun.

Dökümantasyonumuzda veri tipinizin hangi istekleri desteklediğini görebilirsiniz:

Veri tipi için desteklenen istekler

Bu sayfada belirtilenenin dışında bir istek içerisinde bu veri tipini kullanırsanız bu hata ile karşılaşmanız mümkün.

Sonuç

Bu makalede Health Kit kullanırken sıklıkla karşılaşılan problemlere değindik ve çözümlerini gördük. Eğer bu hatalardan farklı bir hata alıyorsanız veya çözümler işe yaramadıysa her zaman destek için bir ticket oluşturabilirsiniz. Ticket oluşturmak için bu sayfayı kullanabilirsiniz.

--

--