Anonymous
Как исправить : Google Fitness REST API – требуется хотя бы один агрегатот [PHP]
Сообщение
Anonymous » 08 янв 2025, 10:25
Здесь можно протестировать и показать правильные данные (
https://developers.google.com/oauthplayground/ )
Код: Выделить всё
POST /fitness/v1/users/me/dataset:aggregate HTTP/1.1
Host: fitness.googleapis.com
Content-length: 252
Content-type: application/json
Authorization: Bearer ya29.xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{
"aggregateBy": [{
"dataSourceId":
"derived:com.google.step_count.delta:com.google.android.gms:estimated_steps"
}],
"bucketByTime": { "durationMillis": 86400000 },
"startTimeMillis": 1659283200000,
"endTimeMillis": 1659628799000
}
Запрос/Ответ:
Код: Выделить всё
{
"bucket": [
{
"startTimeMillis": "1659283200000",
"endTimeMillis": "1659369600000",
"dataset": [
{
"dataSourceId": "derived:com.google.step_count.delta:com.google.android.gms:aggregated",
"point": []
}
]
},
{
"startTimeMillis": "1659369600000",
"endTimeMillis": "1659456000000",
"dataset": [
{
"dataSourceId": "derived:com.google.step_count.delta:com.google.android.gms:aggregated",
"point": [
{
"startTimeNanos": "1659506670385374313",
"originDataSourceId": "raw:com.google.step_count.cumulative:nokia:TT-B215C:dfcqfe387:nokia Step Counter",
"endTimeNanos": "1659528570452802007",
"value": [
{
"mapVal": [],
"intVal": 222222
}
],
"dataTypeName": "com.google.step_count.delta"
}
]
}
]
},
{
"startTimeMillis": "1659456000000",
"endTimeMillis": "1659542400000",
"dataset": [
{
"dataSourceId": "derived:com.google.step_count.delta:com.google.android.gms:aggregated",
"point": [
{
"startTimeNanos": "1659506670385374313",
"originDataSourceId": "raw:com.google.step_count.cumulative:nokia:TT-B215C:dfcqfe387:nokia Step Counter",
"endTimeNanos": "1659528570452802007",
"value": [
{
"mapVal": [],
"intVal": 10005
}
],
"dataTypeName": "com.google.step_count.delta"
}
]
}
]
},
{
"startTimeMillis": "1659542400000",
"endTimeMillis": "1659628799000",
"dataset": [
{
"dataSourceId": "derived:com.google.step_count.delta:com.google.android.gms:aggregated",
"point": [
{
"startTimeNanos": "1659549150591339815",
"originDataSourceId": "raw:com.google.step_count.cumulative:nokia:TT-B215C:dfcqfe387:nokia Step Counter",
"endTimeNanos": "1659595140887199335",
"value": [
{
"mapVal": [],
"intVal": 50005
}
],
"dataTypeName": "com.google.step_count.delta"
}
]
}
]
}
]
}
Я пробовал преобразовать метод в PHP-код,
но он всегда возвращает «Требуется хотя бы один агрегат».
PHP-КОД ЗДЕСЬ
Код: Выделить всё
Подробнее здесь: [url]https://stackoverflow.com/questions/73233238/how-to-fix-google-fitness-rest-api-require-at-least-one-aggregateby-php[/url]
1736321159
Anonymous
Здесь можно протестировать и показать правильные данные ( https://developers.google.com/oauthplayground/) [code]POST /fitness/v1/users/me/dataset:aggregate HTTP/1.1 Host: fitness.googleapis.com Content-length: 252 Content-type: application/json Authorization: Bearer ya29.xxxxxxxxxxxxxxxxxxxxxxxxxxxxx { "aggregateBy": [{ "dataSourceId": "derived:com.google.step_count.delta:com.google.android.gms:estimated_steps" }], "bucketByTime": { "durationMillis": 86400000 }, "startTimeMillis": 1659283200000, "endTimeMillis": 1659628799000 } [/code] Запрос/Ответ: [code]{ "bucket": [ { "startTimeMillis": "1659283200000", "endTimeMillis": "1659369600000", "dataset": [ { "dataSourceId": "derived:com.google.step_count.delta:com.google.android.gms:aggregated", "point": [] } ] }, { "startTimeMillis": "1659369600000", "endTimeMillis": "1659456000000", "dataset": [ { "dataSourceId": "derived:com.google.step_count.delta:com.google.android.gms:aggregated", "point": [ { "startTimeNanos": "1659506670385374313", "originDataSourceId": "raw:com.google.step_count.cumulative:nokia:TT-B215C:dfcqfe387:nokia Step Counter", "endTimeNanos": "1659528570452802007", "value": [ { "mapVal": [], "intVal": 222222 } ], "dataTypeName": "com.google.step_count.delta" } ] } ] }, { "startTimeMillis": "1659456000000", "endTimeMillis": "1659542400000", "dataset": [ { "dataSourceId": "derived:com.google.step_count.delta:com.google.android.gms:aggregated", "point": [ { "startTimeNanos": "1659506670385374313", "originDataSourceId": "raw:com.google.step_count.cumulative:nokia:TT-B215C:dfcqfe387:nokia Step Counter", "endTimeNanos": "1659528570452802007", "value": [ { "mapVal": [], "intVal": 10005 } ], "dataTypeName": "com.google.step_count.delta" } ] } ] }, { "startTimeMillis": "1659542400000", "endTimeMillis": "1659628799000", "dataset": [ { "dataSourceId": "derived:com.google.step_count.delta:com.google.android.gms:aggregated", "point": [ { "startTimeNanos": "1659549150591339815", "originDataSourceId": "raw:com.google.step_count.cumulative:nokia:TT-B215C:dfcqfe387:nokia Step Counter", "endTimeNanos": "1659595140887199335", "value": [ { "mapVal": [], "intVal": 50005 } ], "dataTypeName": "com.google.step_count.delta" } ] } ] } ] } [/code] Я пробовал преобразовать метод в PHP-код, но он всегда возвращает «Требуется хотя бы один агрегат». PHP-КОД ЗДЕСЬ [code] Подробнее здесь: [url]https://stackoverflow.com/questions/73233238/how-to-fix-google-fitness-rest-api-require-at-least-one-aggregateby-php[/url]