एपीआई स्पेसिफ़िकेशन सेक्शन में, प्लैटफ़ॉर्म के साथ इंटिग्रेट करने के लिए ज़रूरी तकनीकी कॉम्पोनेंट के बारे में पूरी जानकारी दी गई है. इसमें अनुमति के स्कोप, डेटा टाइप की परिभाषाएं, और एंडपॉइंट स्ट्रक्चर शामिल हैं. यह एपीआई, Fitbit Web API का रणनीतिक तौर पर विकसित किया गया वर्शन है. इसे आधुनिक इंफ़्रास्ट्रक्चर पर फिर से बनाया गया है, ताकि डेवलपर को ज़्यादा स्थिर और बेहतर अनुभव मिल सके.
स्कोप
Google Health API के स्कोप का इस्तेमाल करने के लिए, आपको अनुमति के अनुरोध को अपडेट करना होगा. स्कोप से यह तय होता है कि आपका ऐप्लिकेशन, डेटा को पढ़ने या उसमें बदलाव करने की कार्रवाइयों के साथ काम करता है या नहीं. स्कोप लागू करने से जुड़े निर्देशों का पालन करें. इनमें सिर्फ़ ज़रूरी स्कोप का अनुरोध करना, डेटा भेजते समय ही लिखने के ऐक्सेस को कॉन्फ़िगर करना, और सहमति न मिलने पर भी ऐप्लिकेशन को ठीक से काम करने देना शामिल है.
Google Health API के स्कोप, https://www.googleapis.com/auth/googlehealth.{scope} से शुरू होने वाला एचटीटीपी यूआरएल है. उदाहरण के लिए, https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly.
स्कोप मैपिंग
यहां बताया गया है कि Fitbit Web API के स्कोप, Google Health API के स्कोप से कैसे मैप होते हैं:
| Fitbit Web API के स्कोप | Google Health API के स्कोप |
|---|---|
| गतिविधि | .activity_and_fitness.readonly
.activity_and_fitness.writeonly |
| blood_glucose | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| cardio_fitness | .activity_and_fitness.readonly
.activity_and_fitness.writeonly |
| इलेक्ट्रोकार्डियोग्राम | .ecg.readonly
|
| हार्टरेट | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| irregular_rhythm_notifications | .irn.readonly
|
| जगह | .location.readonly
|
| पोषण | .nutrition.readonly
.nutrition.writeonly |
| oxygen_saturation | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| प्रोफ़ाइल | .profile.readonly
.profile.writeonly |
| respiratory_rate | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| सेटिंग | .settings.readonly
.settings.writeonly |
| नींद का डेटा | .sleep.readonly
.sleep.writeonly |
| तापमान | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| वज़न का डेटा | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
डेटा टाइप
यहां Google Health API के डेटा टाइप की सूची दी गई है. साथ ही, यह भी बताया गया है कि ये Fitbit Web API के साथ कैसे मैप होते हैं.
इन टाइप के लिए डेटा की रिपोर्टिंग कैसे की जाती है, इस बारे में ज़्यादा जानने के लिए, डेटा की मौजूदगी और सही शून्य की गाइड देखें. इस गाइड में, डिवाइस के इस्तेमाल न होने और डिवाइस पर फ़िल्टर करने की सुविधा के बारे में जानकारी दी गई है.
| Fitbit Web API का डेटा टाइप | Google Health API डेटा टाइपdataType |
|---|---|
| शारीरिक गतिविधि के दौरान खर्च हुई कैलोरी | ऐक्टिव रहने के दौरान बर्न की गई एनर्जीactive-energy-burned
|
| ऐक्टिव ज़ोन मिनट | ऐक्टिव ज़ोन मिनटactive-zone-minutes
|
| इसमें उपयोगकर्ता की गतिविधि के लेवल में हुए बदलावों की जानकारी होती है | गतिविधि का लेवलactivity-level
|
| ऊंचाई | ऊंचाईaltitude
|
| ब्लड ग्लूकोज़ | ब्लड ग्लूकोज़blood-glucose
|
| बॉडी फ़ैट से जुड़ा डेटा | बॉडी फ़ैटbody-fat
|
धड़कन की दर वाले हर ज़ोन में caloriesOut |
हार्ट रेट ज़ोन में बर्न की गई कैलोरीcalories-in-heart-rate-zone
|
| तापमान (कोर) | शरीर का मुख्य तापमानcore-body-temperature
|
| एचआरवी की खास जानकारी | धड़कन की दर में हर दिन होने वाला उतार-चढ़ावdaily-heart-rate-variability
|
| SpO2 की खास जानकारी | ऑक्सीजन की रोज़ाना की मात्राdaily-oxygen-saturation
|
| आराम करते समय धड़कन की दर | हर दिन आराम करते समय धड़कन की दरdaily-resting-heart-rate
|
| त्वचा का तापमान | रोज़ाना के हिसाब से नींद के दौरान शरीर के तापमान में होने वाले बदलावdaily-sleep-temperature-derivations
|
| दूरी | दूरीdistance
|
| इलेक्ट्रोकार्डियोग्राम (ईसीजी) | इलेक्ट्रोकार्डियोग्राम (ईसीजी)electrocardiogram
|
| रिकॉर्ड की गई गतिविधि | Exerciseexercise
|
| फ़्लोर | फ़्लोरfloors
|
| खाना | खानाfood
|
| खाने की मेज़रमेंट यूनिट | खाने की मेज़रमेंट यूनिटfood-measurement-unit
|
| धड़कन की दर | धड़कन की दरheart-rate
|
| एचआरवी इंट्राडे | धड़कन की दर में उतार-चढ़ावheart-rate-variability
|
| दिल की धड़कन अनियमित होने पर मिलने वाली सूचनाएं (आईआरएन) | दिल की धड़कन अनियमित होने पर मिलने वाली सूचनाएंirregular-rhythm-notification
|
| खाने से जुड़ा डेटा लॉग करें | पोषण से जुड़ा डेटा लॉग करेंnutrition-log
|
| SpO2 Intraday | ऑक्सीजन की मात्राoxygen-saturation
|
| उपयोगकर्ता के दौड़ने पर VO2 मैक्स वैल्यू | दौड़ने के दौरान का VO2 मैक्सrun-vo2-max
|
| गतिविधि के समय की सीरीज़ में, बैठे रहने के मिनट | एक ही जगह पर बैठे या लेटे रहने की अवधिsedentary-period
|
| नींद | नींदsleep
|
| चरण | चरणsteps
|
| तैराकी के स्ट्रोक की गतिविधि के समय की सीरीज़ | स्विम लेंथ का डेटाswim-lengths-data
|
गतिविधि caloriesOut |
कुल कैलोरीtotal-calories
|
| VO2 मैक्स की वैल्यू | VO2 मैक्सvo2-max
|
| वज़न | वज़नweight
|
एंडपॉइंट
REST एंडपॉइंट, सभी डेटा टाइप के लिए एक जैसा सिंटैक्स इस्तेमाल करते हैं.
- सेवा एंडपॉइंट: बेस एचटीटीपी यूआरएल बदलकर https://health.googleapis.com हो जाता है.
- एंडपॉइंट सिंटैक्स: Google Health API में सीमित संख्या में एंडपॉइंट काम करते हैं. इनका इस्तेमाल, साथ काम करने वाले ज़्यादातर डेटा टाइप के लिए किया जा सकता है. इससे सभी डेटा टाइप के लिए एक जैसा सिंटैक्स मिलता है. साथ ही, एंडपॉइंट का इस्तेमाल करना आसान हो जाता है.
- यूज़र आइडेंटिफ़ायर: एंडपॉइंट सिंटैक्स में, यूज़र आईडी या me में से किसी एक को तय किया जाना चाहिए. मेरा इस्तेमाल करते समय, यूज़र आईडी का पता ऐक्सेस टोकन से लगाया जाता है.
उदाहरण: यहां Google Health API का इस्तेमाल करके कॉल किए गए, GET Profile एंडपॉइंट का उदाहरण दिया गया है
GET https://health.googleapis.com/v4/users/me/profile
एंडपॉइंट मैपिंग
उपलब्ध डेटा टाइप और उनके साथ काम करने वाले एपीआई के तरीकों की सूची देखने के लिए, Google Health API के डेटा टाइप टेबल देखें.
| Fitbit Web API Endpoint Type | Google Health API |
| GET (Log | Summary | Daily Summary) जहां आपको एक दिन का डेटा चाहिए | windowSize = 1 दिन के साथ dailyRollup तरीका |
| GET (इंट्राडे) जहां आपको ज़्यादा जानकारी वाला डेटा चाहिए | list तरीका |
| तारीख या इंटरवल के हिसाब से GET (टाइम सीरीज़) | तारीख की सीमा के साथ rollUp या dailyRollUp तरीका |
| GET (लॉग की सूची) | list तरीका |
| लॉग बनाना और अपडेट करना | patch तरीका |
| लॉग मिटाएं | batchDelete तरीका |
| प्रोफ़ाइल पाएं | users.getProfile से उपयोगकर्ता की खास जानकारी मिलती है
users.getSettings से उपयोगकर्ता की इकाइयां और टाइमज़ोन मिलते हैं |
| प्रोफ़ाइल अपडेट करें | users.updateProfile की मदद से, उपयोगकर्ता की कुछ जानकारी में बदलाव किया जा सकता है
users.updateSettings की मदद से, उपयोगकर्ता की इकाइयों और टाइमज़ोन में बदलाव किया जा सकता है |
| यूज़र आईडी पाना | users.getIdentity, उपयोगकर्ता का Fitbit लेगसी और Google उपयोगकर्ता आईडी दिखाता है. |
| डिवाइसों की जानकारी पाना | users.pairedDevices से, जोड़े गए डिवाइसों की सूची मिलती है |
| सदस्यताएं बनाना | projects.subscribers.subscriptions.create मैन्युअल तरीके से सदस्यता बनाता है |
| सदस्यताएं मिटाना | projects.subscribers.subscriptions.delete किसी सदस्यता को मिटाता है |
| सदस्यताओं की सूची पाना | projects.subscribers.subscriptions.list में सभी सदस्यताओं की सूची होती है |