ממשק Google Health API משתמש במסגרת חזקה וסטנדרטית לניהול הגישה לנתוני המשתמשים ולאבטחתם. מרכיב מרכזי בתהליך המודרניזציה הזה הוא המעבר משיטת ההרשאה הקודמת של Fitbit (FOT) ל-OAuth 2.0 של Google. השינוי הזה מאפשר למפתחים להשתמש בספריות אימות סטנדרטיות של Google, וכך לפשט את ההטמעה ולספק למשתמשים ממשק מוכר ומרכזי לניהול ההרשאות שלהם.
רישום אפליקציה
כל האפליקציות של Google Health API צריכות להיות רשומות באמצעות Google Cloud Console, שמשמש כמרכז לניהול כל האפליקציות של Google.
הוראות לרישום האפליקציה מופיעות במאמר תחילת העבודה. אלה ההבדלים שתבחינו בהם כשאתם רושמים את האפליקציות.
| Fitbit Web API | Google Health API | |
| קישורים שגלויים לכולם | https://dev.fitbit.com/apps | https://console.cloud.google.com |
| הוספת אפליקציה חדשה | לוחצים על Register a new app (רישום אפליקציה חדשה). |
|
| פרטים בסיסיים | השדות שצריך למלא:
|
השדות שצריך למלא:
|
| סוגי אפליקציות | המפתח צריך לבחור:
|
|
| Client-ID | הרישום מתבצע כששומרים את הגדרות האפליקציה | רשום בנפרד |
| סוג הגישה | גישת קריאה וכתיבה נשלטת ברמת האפליקציה | גישת קריאה וכתיבה נשלטת ברמת ההיקף |
| כתובות URL נוספות |
|
|
הטמעה של OAuth
אפליקציות של Google Health API תומכות רק בספריות הלקוח של Google OAuth2. יש ספריות לקוח למסגרות פופולריות, ולכן קל יותר להטמיע OAuth 2.0. ההבדלים בין ספריות Google OAuth2 לבין ספריות OAuth2 בקוד פתוח הם:
| Fitbit Web API | Google Health API | |
| תמיכה בספריית OAuth2 | קוד פתוח | ספריות לקוח של Google OAuth2 |
| פונקציונליות | חוסר עקביות בין הפלטפורמות | עקביות בפלטפורמות שונות |
| כתובת URL של הרשאה | https://www.fitbit.com/oauth2/authorize | https://accounts.google.com/o/oauth2/v2/auth |
| כתובת URL לטוקן | https://api.fitbit.com/oauth2/token | https://oauth2.googleapis.com/token |
| משך החיים של טוקן גישה | 8 שעות | שעה אחת |
| גודל טוקן הגישה | 1,024 בייטים | 2048 בייטים |
| רענון הטוקן | אסימוני רענון נוצרים כשמשתמשים בתהליך הענקת קוד הרשאה. אפשר ליצור רק אסימון רענון אחד לכל משתמש. הטוקנים לא פוקעים לעולם ואפשר להשתמש בהם רק פעם אחת. | כדי ליצור טוקן רענון, מחרוזת ההרשאה צריכה להכיל את פרמטר השאילתה access_type=offline. אפשר ליצור כמה טוקנים לרענון עבור משתמש יחיד. אסימוני רענון יכולים להיות מבוססים על זמן. הם יפוגו אם לא נעשה בהם שימוש במשך 6 חודשים, אם המשתמש העניק גישה מוגבלת בזמן או אם האפליקציה במצב 'בדיקה'. פרטים נוספים זמינים במאמר בנושא תפוגה של אסימון רענון. |
| תגובת טוקן | תגובת ה-JSON מכילה:
|
תגובת ה-JSON מכילה:
כדי לקבל את מזהה המשתמש, משתמשים בנקודת הקצה users.getIdentity. |
אימות מחדש של משתמשים (בקשת הסכמה מחדש)
משתמשי Fitbit צריכים להביע הסכמה מחדש לשילוב החדש, כי האפליקציה שלך משתמשת בספריית OAuth אחרת. אי אפשר להעביר טוקנים של גישה וטוקנים של רענון אל Google Health API ולהשתמש בהם.