במדריך הזה מוסבר איך לפתור בעיות נפוצות בשימוש ב-Google Health API.
שגיאות לקוח מסוג 4xx
קודי סטטוס מסוג 4xx מוחזרים כשקיימת בעיה בקוד של אפליקציית הלקוח. כדי לקבל מידע נוסף על הבעיה, כדאי לעיין ברכיבים של גוף התגובה.
400 בקשה שגויה
| שליחת הודעה | תיאור | המלצה |
|---|---|---|
| הבקשה מכילה ארגומנט לא תקין. | סוג הנתונים ID {value} לא נתמך. | מוודאים שסוג הנתונים שאליו מתבצעת ההפניה נתמך על ידי נקודת הקצה. |
| התקבל מטען ייעודי (payload) של JSON לא תקין. מספרים הקסדצימליים או אוקטליים הם לא ערכי JSON תקינים. | נקודת הקצה dailyRollUp לא תומכת בערכי חודש ויום שמיוצגים כ-MM או כ-DD, בהתאמה. לספרות בודדות לא מוסיפים אפס מוביל. |
|
| מספר הפרויקט בשם המשאב לא תקין | כשמוחקים או מעדכנים אפליקציה רשומה באמצעות מזהה הפרויקט בענן בכתובת ה-URL של הבקשה במקום מספר הפרויקט. ההגדרה הזו חלה על מינויים ל-webhook באמצעות נקודת הקצה projects.subscribers. |
משתמשים במספר הפרויקט ב-Google Cloud בכתובת ה-URL של הבקשה, ולא במזהה הפרויקט. |
401 אין הרשאה
| שליחת הודעה | תיאור | המלצה |
|---|---|---|
| בבקשה צוינו פרטי כניסה לאימות שלא תקינים. אסימון גישה מסוג OAuth 2, קובץ Cookie של התחברות או פרטי כניסה תקפים אחרים לאימות. | INVALID_AUTHENTICATOR: Token expired | פג התוקף של טוקן הגישה שלך. משתמשים באסימון הרענון כדי לקבל אסימון גישה חדש ואסימון רענון חדש, או שהמשתמש צריך להעניק מחדש הסכמה לאפליקציה. |
403 Forbidden
| שליחת הודעה | תיאור | המלצה |
|---|---|---|
| למתקשר אין הרשאה | כשיוצרים או מציגים רשימה של מנויים באמצעות מזהה הפרויקט ב-Google Cloud בכתובת ה-URL של הבקשה במקום מספר הפרויקט. ההגדרה הזו חלה על מינויים ל-webhook באמצעות נקודת הקצה projects.subscribers. |
משתמשים במספר הפרויקט ב-Google Cloud בכתובת ה-URL של הבקשה, ולא במזהה הפרויקט. |
| למתקשר אין הרשאה. | לא ניתן ליצור UberMint מ-GaiaMint. | המשתמש הצליח להשלים את תהליך ההרשאה, אבל הקריאה לנקודת הקצה נכשלה. זה יכול לקרות אם חשבון Fitbit מדור קודם נתן הסכמה לאפליקציה במקום חשבון Google. כדי לפתור את השגיאה:
|
שגיאת 404
| שליחת הודעה | תיאור | המלצה |
|---|---|---|
כתובת ה-URL המבוקשת /v4/users/me/dataTypes/{dataType}/dataPoints לא נמצאה בשרת הזה. |
סיבות אפשריות:
|
אחזור מזהה משתמש ב-Fitbit
כדי לפתור בעיה של משתמש, יכול להיות שתצטרכו לאמת את חשבון Google של המשתמש שמחובר לאפליקציה לנייד של Fitbit.
כדי למצוא את מזהה המשתמש ב-Fitbit:
- פותחים את האפליקציה לנייד של Fitbit.
- לוחצים על הסמל הדף שלי בפינה השמאלית התחתונה.
- לוחצים על הקישור עריכת הפרופיל במשבצת העליונה שכוללת את שם המשתמש ואת תאריך ההצטרפות.
- עבור לתחתית הדף. בקטע Your account (החשבון שלך), הערך שמוקצה למזהה הוא מזהה המשתמש ב-Fitbit. (לדוגמה: CV5TKH)
ביטול ההסכמה לשימוש באפליקציה
כשעוזרים למשתמש לפתור בעיות בחיבור OAuth2 לאפליקציה, יכול להיות שיהיה צורך לבקש ממנו לבטל את הקישור של החשבון שלו לאפליקציה ואז להשלים שוב את תהליך ההרשאה.
כדי לבטל את הקישור של חשבון Google לאפליקציה שלכם:
- פותחים את האפליקציה לנייד של Fitbit.
- לוחצים על סמל פרופיל המשתמש של Fitbit בפינה השמאלית העליונה.
- לוחצים על ניהול חשבון Google שלך.
- לוחצים על האריח נתונים ופרטיות.
- גוללים לקטע **נתונים מאפליקציות ומשירותים שמשמשים אותך. בקטע אפליקציות ושירותים, בוחרים באפשרות אפליקציות ושירותים של צד שלישי.
- מחפשים את שם האפליקציה ברשימת האפליקציות המחוברות ומבקשים מהמשתמש לבחור אותה.
- לוחצים על מחיקת כל החיבורים שיצרת אל <שם האפליקציה>.
- מבקשים מהמשתמש ללחוץ על אישור כדי לבטל את ההסכמה לשימוש באפליקציה.
בסיום תהליך ביטול הגישה, המשתמש יועבר בחזרה לרשימה בדף אפליקציות ושירותים של צד שלישי. יכול להיות שהמשתמש יצטרך לרענן את הדף כדי לראות שהשם של האפליקציה הוסר מהרשימה.
פתרון בעיות שקשורות לעיכובים בסנכרון של מכשירים
כשמנסים לפתור בעיות שקשורות לנתוני משתמשים חסרים או לנתונים שמתעדכנים באיחור, כדאי לבדוק את דגם המכשיר המזווג של המשתמש ואת תאריך הסנכרון האחרון שלו.
המידע על המודל (למשל, מודל של צמיד כושר או שעון חכם של Fitbit) ותאריך הסנכרון האחרון שימושיים לפתרון בעיות ולשליפת נתונים היסטוריים אחרי עיכובים בסנכרון.
לדוגמה, אם אתם מבחינים בפער לא צפוי או בעיכוב במסירת הנתונים:
- מוודאים שמזהה המשתמש שאתם שולחים לגביו שאילתה תואם למזהה המשתמש של חשבון Fitbit שאליו מחוברים באפליקציה לנייד. כדי לקבל את מזהה המשתמש באפליקציה לנייד, אפשר לעיין במאמר בנושא אחזור מזהה משתמש Fitbit.
כדי לקבל את ה-User-ID מטוקן הגישה, קוראים לנקודת הקצה
getIdentity. - כדי לדעת מתי המכשיר של המשתמש סונכרן לאחרונה עם אפליקציית Google Health לנייד, בודקים את זמן הסנכרון האחרון.
- אם המכשיר לא סונכרן לאחרונה, סביר להניח שהעיכוב נובע מכך שהמכשיר לא מחובר לאינטרנט או שהוא לא מסונכרן עם האפליקציה לנייד, ולא מבעיה בממשק ה-API.
- אחרי שהמשתמש פותח את האפליקציה לנייד ומסנכרן את המכשיר, אפשר לאחזר נתונים היסטוריים מהתקופה שחלפה מאז הסנכרון האחרון.
כדי לאחזר מידע על מכשיר משויך של משתמש, קוראים לנקודת הקצה (endpoint) של users.pairedDevices.list. הפונקציה מחזירה רשימה של מכשירים שמכילה את הפרטים הבאים:
-
deviceVersion: שם המוצר או הדגם של המכשיר (לדוגמה, Charge 6). -
lastSyncTime: חותמת הזמן של הסנכרון האחרון שבוצע בהצלחה.