נצברו נתונים מסוג מסוים או מקור נתונים מסוים לקטגוריות המחולקות לפי סוג גבול נתון. אפשר לקבץ כמה קבוצות נתונים מכמה סוגים וממקורות מרובים לסוג אחד של בקשות בלבד. כדאי לנסות עכשיו.
שליחת בקשה
בקשת HTTP
POST https://www.googleapis.com/fitness/v1/users/userId/dataset:aggregate
פרמטרים
שם הפרמטר | ערך | תיאור |
---|---|---|
פרמטרים של נתיב | ||
userId |
string |
הנתונים המצטברים של האדם שזוהה. משתמשים ב-me כדי לציין
את המשתמש המאומת. רק me נתמכים בשלב זה.
|
הרשאה
הבקשה הזו מחייבת הרשאה עם לפחות אחד מההיקפים הבאים:
היקף ההרשאות |
---|
https://www.googleapis.com/auth/fitness.activity.read |
https://www.googleapis.com/auth/fitness.activity.write |
https://www.googleapis.com/auth/fitness.location.read |
https://www.googleapis.com/auth/fitness.location.write |
https://www.googleapis.com/auth/fitness.body.read |
https://www.googleapis.com/auth/fitness.body.write |
https://www.googleapis.com/auth/fitness.nutrition.read |
https://www.googleapis.com/auth/fitness.nutrition.write |
https://www.googleapis.com/auth/fitness.blood_pressure.read |
https://www.googleapis.com/auth/fitness.blood_pressure.write |
https://www.googleapis.com/auth/fitness.blood_glucose.read |
https://www.googleapis.com/auth/fitness.blood_glucose.write |
https://www.googleapis.com/auth/fitness.oxygen_saturation.read |
https://www.googleapis.com/auth/fitness.oxygen_saturation.write |
https://www.googleapis.com/auth/fitness.body_temperature.read |
https://www.googleapis.com/auth/fitness.body_temperature.write |
https://www.googleapis.com/auth/fitness.reproductive_health.read |
https://www.googleapis.com/auth/fitness.reproductive_health.write |
מידע נוסף זמין בדף אימות והרשאה.
גוף הבקשה
בגוף הבקשה, יש לספק את הנתונים במבנה הבא:
{ "startTimeMillis": long, "endTimeMillis": long, "aggregateBy": [ { "dataTypeName": string, "dataSourceId": string } ], "filteredDataQualityStandard": [ string ], "bucketByTime": { "durationMillis": long, "period": { "type": string, "value": integer, "timeZoneId": string } }, "bucketBySession": { "minDurationMillis": long }, "bucketByActivityType": { "minDurationMillis": long, "activityDataSourceId": string }, "bucketByActivitySegment": { "minDurationMillis": long, "activityDataSourceId": string } }
שם הנכס | ערך | תיאור | הערות |
---|---|---|---|
startTimeMillis |
long |
ההתחלה של חלון הזמן. נתונים שמצטלבים עם חלון הזמן הזה יוצגו במצטבר. הזמן הוא באלפיות שנייה מתחילת התקופה, כולל. | |
endTimeMillis |
long |
סוף של חלון זמן. נתונים שמצטלבים עם חלון הזמן הזה יוצגו במצטבר. הזמן הוא באלפיות שנייה מתחילת התקופה, כולל. | |
aggregateBy[] |
list |
מפרט הנתונים שיש לצבור. יש לספק לפחות מפרט אחד מסוג אגרגטורBy. כל הנתונים שצוינו יקובצו לפי אותם קריטריונים של סיווג. יהיה מערך נתונים אחד בתשובה לכל מפרטי צבירה. | |
aggregateBy[].dataTypeName |
string |
סוג הנתונים שנצברים. כל מקורות הנתונים שמספקים את סוג הנתונים הזה יסתמכו על הנתונים. התגובה תכיל מערך נתונים יחיד עבור השם של סוג הנתונים הזה. למערך הנתונים יהיה מזהה מקור נתונים נגזר: | |
aggregateBy[].dataSourceId |
string |
מזהה של מקור נתונים שצריך לצבור. בצבירה ייכללו רק נתונים מהמזהה של מקור הנתונים שצוין. אם מקור הנתונים הזה צוין, היקפי ה-OAuth בפרטי הכניסה שסופקו חייבים להעניק גישת קריאה לסוג הנתונים הזה. למערך הנתונים שבתגובה יהיה אותו מזהה של מקור נתונים. הערה: אפשר לצבור נתונים באמצעות dataTypeName או dataDataId. | |
filteredDataQualityStandard[] |
list |
אין לאכלס את השדה הזה. המערכת תתעלם ממנה. | |
bucketByTime |
nested object |
מציינת שהנתונים יצטברו במרווח זמן יחיד. בלעדי לחלוטין למפרטים אחרים של קטגוריות. | |
bucketByTime.durationMillis |
long |
המדיניות הזו קובעת שקטגוריות תוצאות יצברו נתונים לפי מסגרות זמן של בדיוק אתם. מסגרות זמן שלא מכילות נתונים ייכללו בתגובה עם מערך נתונים ריק. | |
bucketByTime.period |
nested object |
||
bucketByTime.period.type |
string |
הערכים הקבילים הם:
|
|
bucketByTime.period.value |
integer |
||
bucketByTime.period.timeZoneId |
string |
org.joda.timezone.DateTimeZone | |
bucketBySession |
nested object |
מציינת שהנתונים יצטברו לפי ביקורים של משתמשים. נתונים שלא נמצאים בטווח הזמן של סשן מסוים לא ייכללו בתשובה. בלעדי לחלוטין למפרטים אחרים של קטגוריות. | |
bucketBySession.minDurationMillis |
long |
המדיניות הזו קובעת שרק סשנים של משך זמן ארוך יותר מ-mindurationMillis נלקחים בחשבון ומשמשים כמאגר של נתונים נצברים. | |
bucketByActivityType |
nested object |
מציינת שהנתונים נצברים לפי סוג הפעילות המתבצעת כאשר הנתונים מתועדים. כל הנתונים שתועדו במהלך סוג פעילות מסוים (בטווח הזמן הנתון) יצטברו באותה קטגוריה. הנתונים שתועדו בזמן שהמשתמש לא היה פעיל לא ייכללו בתשובה. בלעדי לחלוטין למפרטים אחרים של קטגוריות. | |
bucketByActivityType.minDurationMillis |
long |
המדיניות הזו קובעת שרק פלחי פעילות של משך זמן ארוך יותר מ-mindurationMillis נלקחים בחשבון ומשמשים כמאגר של נתונים נצברים. | |
bucketByActivityType.activityDataSourceId |
string |
המערכת תשתמש בזרם הפעילות המוגדר כברירת מחדל אם לא צוין userDataSourceId ספציפי. | |
bucketByActivitySegment |
nested object |
מציינת שהנתונים יצטברו לכל פלח פעילות שתועד עבור המשתמש. בדומה ל-bucketByActivitySegment, אבל השיוך יתבצע לכל פלח פעילות, ולא לכל הפלחים מאותו סוג. בלעדי לחלוטין למפרטים אחרים של קטגוריות. | |
bucketByActivitySegment.minDurationMillis |
long |
המדיניות הזו קובעת שרק פלחי פעילות של משך זמן ארוך יותר מ-mindurationMillis נלקחים בחשבון ומשמשים כמאגר של נתונים נצברים. | |
bucketByActivitySegment.activityDataSourceId |
string |
המערכת תשתמש בזרם הפעילות המוגדר כברירת מחדל אם לא צוין userDataSourceId ספציפי. |
תשובה
אם השיטה הזו מוצלחת, היא מחזירה גוף תגובה עם המבנה הבא:
{ "bucket": [ { "type": string, "startTimeMillis": long, "endTimeMillis": long, "dataset": [ users.dataSources.datasets Resource ], "session": { "id": string, "name": string, "description": string, "startTimeMillis": long, "endTimeMillis": long, "modifiedTimeMillis": long, "application": { "packageName": string, "version": string, "detailsUrl": string, "name": string }, "activityType": integer, "activeTimeMillis": long }, "activity": integer } ] }
שם הנכס | ערך | תיאור | הערות |
---|---|---|---|
bucket[] |
list |
רשימה של קטגוריות שמכילות את הנתונים הנצברים. | |
bucket[].type |
string |
סוג הקטגוריה מציין את אופן צבירת הנתונים בקטגוריה.
הערכים הקבילים הם:
|
|
bucket[].startTimeMillis |
long |
שעת ההתחלה של הנתונים הנצברים, באלפיות השנייה מתחילת התקופה, כולל. | |
bucket[].endTimeMillis |
long |
שעת הסיום של הנתונים הנצברים, באלפיות השנייה מתחילת התקופה, כולל. | |
bucket[].dataset[] |
list |
בבקשה יופיע מערך נתונים אחד לכל צבירה. | |
bucket[].session |
nested object |
זמין לקטגוריות.Type.SESSION | |
bucket[].session.id |
string |
מזהה שנוצר על ידי הלקוח וייחודי לכל הביקורים שבבעלות המשתמש המסוים הזה. | |
bucket[].session.name |
string |
שם שניתן לקרוא על ידי המשתמש. | |
bucket[].session.description |
string |
תיאור לסשן הזה. | |
bucket[].session.startTimeMillis |
long |
שעת התחלה, באלפיות השנייה מתחילת התקופה, כולל. | |
bucket[].session.endTimeMillis |
long |
שעת סיום (באלפיות שנייה) מאז התקופה הראשונה, כולל. | |
bucket[].session.modifiedTimeMillis |
long |
חותמת זמן שמציינת מתי בוצע השינוי האחרון בפעילות באתר. | |
bucket[].session.application |
nested object |
האפליקציה שיצרה את הסשן. | |
bucket[].session.application.packageName |
string |
שם החבילה של האפליקציה הזו. המזהה הזה משמש כמזהה ייחודי כשיוצרים אפליקציות ל-Android, אבל לא ניתן לציין אותו ללקוחות REST. מספר הלקוח ב-REST יופיע במזהי מקור הנתונים של מקור הנתונים, במקום packageName. | |
bucket[].session.application.version |
string |
גרסת האפליקציה. יש לעדכן את השדה הזה בכל פעם שהאפליקציה משתנה בצורה שמשפיעה על חישוב הנתונים. | |
bucket[].session.application.detailsUrl |
string |
URI אופציונלי שניתן להשתמש בו כדי לקשר חזרה לאפליקציה. | |
bucket[].session.application.name |
string |
השם של האפליקציה. זו דרישה ללקוחות Google REST, אבל אנחנו לא אוכפים ייחודיות בשם זה. הוא מספק לצורך נוחות מפתחים אחרים שרוצים לזהות איזה REST יצר אפליקציה או מקור נתונים. | |
bucket[].session.activityType |
integer |
סוג הפעילות שסשן זה מייצג. | |
bucket[].session.activeTimeMillis |
long |
משך הפעילות. המאפיין start_time_millis ו-end_time_millis מגדירים את זמן הסשן המלא, אבל הזמן הפעיל יכול להיות קצר יותר ומוגדר כ-active_time_millis. אם ידוע משך הזמן של חוסר פעילות במהלך הסשן, צריך להוסיף אותו גם באמצעות נקודת נתונים של com.google.activity.Segment עם ערך של פעילות STILL |
|
bucket[].activity |
integer |
זמין לקטגוריות.Type.Activity_TYPE, bucket.Type.Activity_SEGMENT |
רוצה לנסות?
כדי לקרוא לשיטה הזו על נתונים בזמן אמת ולראות את התגובה, אתם צריכים להשתמש ב-APIs Explorer.