בקטע 'מפרט ה-API' מופיעה סקירה מפורטת של הרכיבים הטכניים שנדרשים לשילוב עם הפלטפורמה, כולל היקפי הרשאות, הגדרות של סוגי נתונים ומבנים של נקודות קצה. ממשק ה-API הזה מייצג התפתחות אסטרטגית של Fitbit Web API מדור קודם, שנבנה מחדש על בסיס תשתית מודרנית כדי להבטיח חוויית פיתוח יציבה ועקבית יותר.
טווחים
עליך לעדכן את בקשת ההרשאה שלך כדי להשתמש בהיקפי Google Health API. ההיקפים מגדירים אם האפליקציה תומכת בפעולות קריאה או כתיבה. אל תשתמשו בהיקפים שלא נדרשים לאפליקציה. תמיד אפשר להוסיף עוד היקפים בהמשך אם העיצוב של האפליקציה משתנה.
היקפי ההרשאות של Google Health API הם כתובות URL של HTTP שמתחילות ב-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 | .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 APIdataType |
|---|---|
| קלוריות בפעילות | אנרגיה שנשרפה בזמן פעילותactive-energy-burned
|
| דקות טווח דופק | דקות טווח פעילותactive-zone-minutes
|
| כולל שינויים ברמות הפעילות של המשתמש | רמת הפעילותactivity-level
|
| גובה | גובהaltitude
|
| סוכר בדם | רמת הסוכר בדםblood-glucose
|
| אחוז השומן בגוף | Body Fatbody-fat
|
caloriesOut בכל טווח דופק |
Calories In Heart Rate Zonecalories-in-heart-rate-zone
|
| טמפרטורה (ליבה) | טמפרטורת ליבהcore-body-temperature
|
| סיכום HRV | Daily Heart Rate Variabilitydaily-heart-rate-variability
|
| סיכום נתוני הסטורציה | Daily Oxygen Saturationdaily-oxygen-saturation
|
| הדופק במנוחה | הדופק היומי במנוחהdaily-resting-heart-rate
|
| טמפרטורת העור | Daily Sleep Temperature Derivationsdaily-sleep-temperature-derivations
|
| מרחק | מרחקdistance
|
| אלקטרוקרדיוגרמה (אק"ג) | Electrocardiogram (ECG)electrocardiogram
|
| פעילות מוקלטת | תרגילexercise
|
| קומות | קומותfloors
|
| אוכל | אוכלfood
|
| יחידת מידה של מזון | יחידת מידה של מזוןfood-measurement-unit
|
| דופק | דופקheart-rate
|
| HRV Intraday | שונות קצב הלבheart-rate-variability
|
| התראות על הפרעת קצב (IRN) | התראה על הפרעת קצב (IRN)irregular-rhythm-notification
|
| יומן אכילה | יומן תזונהnutrition-log
|
| נתוני סטורציה במהלך היום | רמת החמצן בדםoxygen-saturation
|
| ערך ה-VO2 Max כשהמשתמש רץ | Run VO2 Maxrun-vo2-max
|
| סדרת זמן של דקות בישיבה | תקופה של חוסר פעילותsedentary-period
|
| שינה | שינהsleep
|
| שלבים | שלביםsteps
|
| סדרת זמנים של פעילות: חתירות בשחייה | נתונים של אורך הבריכהswim-lengths-data
|
פעילות caloriesOut |
Total Caloriestotal-calories
|
| ערך צריכת החמצן המרבית (VO2 max) | VO2 Maxvo2-max
|
| משקל | משקלweight
|
נקודות קצה
נקודות הקצה של REST משתמשות בתחביר עקבי לכל סוגי הנתונים.
- נקודת קצה של השירות: כתובת ה-URL הבסיסית של HTTP משתנה ל-https://health.googleapis.com.
- תחביר של נקודת קצה: Google Health API תומך במספר מוגבל של נקודות קצה, שאפשר להשתמש בהן ברוב סוגי הנתונים הנתמכים. כך יש תחביר עקבי לכל סוגי הנתונים, וקל יותר להשתמש בנקודות הקצה.
- מזהה משתמש: צריך לציין את מזהה המשתמש או את המילה me בתחביר של נקודת הקצה. כשמשתמשים ב-me, מזהה המשתמש נגזר מאסימון הגישה.
דוגמה: דוגמה לקריאה לנקודת הקצה GET Profile באמצעות Google Health API
GET https://health.googleapis.com/v4/users/me/profile
מיפוי נקודות קצה
בטבלה סוגי הנתונים ב-Google Health API מפורטים סוגי הנתונים שזמינים ושיטות ה-API שהם תומכים בהן.
| Fitbit Web API Endpoint Type | Google Health API |
| GET (Log | Summary | Daily Summary) where you are requesting a single day of data | השיטה dailyRollup עם windowSize = יום אחד |
| GET (במהלך היום) כשמבקשים נתונים מפורטים | שיטת list |
| GET (Time Series) by Date or Interval | השיטה rollUp או dailyRollUp כולל טווח תאריכים |
| GET (רשימת יומנים) | שיטת list |
| יצירה ועדכון של יומנים | שיטת patch |
| מחיקת יומנים | השיטה batchDelete |
| GET Profile | 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 מציג את כל המינויים |