כדי להוסיף נתוני הידרציה ל-Google Fit, צריך ליצור מקור נתונים ולהשתמש בסוג הנתונים com.google.hydration. כל נקודת נתונים מייצגת את הנפח, בליטרים, שנצרך על ידי משתמש כחלק ממשקה יחיד. משתמשים במספר עשרוני כדי לציין את עוצמת הקול.
הערה: חותמת הזמן מציינת מתי המשקה נצרך. מכיוון ש-com.google.hydration הוא סוג נתונים מיידי, שעת ההתחלה ושעת הסיום צריכות להיות זהות.
יצירת מקור נתונים
Android
כדי ליצור מקור נתונים חדש, משתמשים בשיטה DataSource.Builder. לדוגמה, hydrationSource.
val hydrationSource = DataSource.Builder()
.setDataType(DataType.TYPE_HYDRATION)
.setStreamName("hydrationSource")
// ...
.build()
REST
קוראים ל-API בארכיטקטורת REST כדי ליצור מקור נתונים חדש. לדוגמה, HydrationSource.
שיטת HTTP
POST
כתובת ה-URL של הבקשה
https://www.googleapis.com/fitness/v1/users/me/dataSources
גוף הבקשה
{
"dataStreamName": "HydrationSource",
"type": "raw",
"application": {
"detailsUrl": "http://example.com",
"name": "My Example App",
"version": "1"
},
"dataType": {
"name": "com.google.hydration",
"field": [
{
"name": "volume",
"format": "floatPoint",
"optional": false
}
]
}
}
תשובה
אם מקור הנתונים נוצר בהצלחה, התשובה היא קוד סטטוס 200 OK. גוף התגובה מכיל ייצוג JSON של מקור הנתונים, כולל מאפיין datasource.dataStreamId שבו אפשר להשתמש כמזהה של מקור הנתונים בבקשות הבאות.
פקודת CURL
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" --request POST \
--header "Content-Type: application/json;encoding=utf-8" --data @hydration-ds.json \
https://www.googleapis.com/fitness/v1/users/me/dataSources
הוספת נתונים על מאזן הנוזלים
Android
בדוגמה הזו מוסבר איך ליצור נקודה על הגרף חדשה ולהוסיף נתוני הידרציה למשקה מים בנפח 0.3 ליטר, באמצעות מקור הנתונים.
val hydration = DataPoint.builder(hydrationSource)
.setTimestamp(timestamp, TimeUnit.MILLISECONDS)
.setField(FIELD_VOLUME, 0.3f)
.build()
REST
בדוגמה הזו מוסבר איך להוסיף נתוני הידרציה באמצעות מקור הנתונים.
שיטת HTTP
PATCH
כתובת ה-URL של הבקשה
https://www.googleapis.com/fitness/v1/users/me/dataSources/raw:com.google.hydration:407408718192:HydrationSource/datasets/1275753581000000000-1275753581000000000
גוף הבקשה
{
"minStartTimeNs": 1275753581000000000,
"maxEndTimeNs": 1275753581000000000,
"dataSourceId": "raw:com.google.hydration:407408718192:HydrationSource",
"point": [
{
"startTimeNanos": 1275753581000000000,
"endTimeNanos": 1275753581000000000,
"dataTypeName": "com.google.hydration",
"value": [
{
"fpVal": 0.3
}
]
}
]
}
תשובה
אם נקודה על הגרף נוצרה בהצלחה, תקבלו קוד סטטוס של תגובת HTTP 200 OK. גוף התגובה מכיל ייצוג JSON של מערך הנתונים.
פקודת CURL
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" --request PATCH \
--header "Content-Type: application/json;encoding=utf-8" --data @hydration-data.json \
https://www.googleapis.com/fitness/v1/users/me/dataSources/raw:com.google.hydration:407408718192:HydrationSource/datasets/1275753581000000000-1275753581000000000