Агрегирует данные определенного типа или потока в сегменты, разделенные границей заданного типа. Несколько наборов данных разных типов и из нескольких источников могут быть агрегированы ровно в один тип корзины для каждого запроса. Попробуйте сейчас .
Запрос
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 | Спецификация данных, подлежащих агрегированию. Должна быть указана хотя бы одна спецификацияагрегата. Все указанные данные будут агрегированы с использованием одних и тех же критериев сегментирования. В ответе будет один набор данных для каждой спецификацииагрегата. | |
aggregateBy[]. dataTypeName | string | Тип данных для агрегирования. Все источники данных, предоставляющие этот тип данных, будут вносить данные в агрегацию. Ответ будет содержать один набор данных для этого имени типа данных. Набор данных будет иметь производный идентификатор источника данных: | |
aggregateBy[]. dataSourceId | string | Идентификатор источника данных для агрегирования. В агрегацию будут включены только данные из указанного идентификатора источника данных. Если указано, этот источник данных должен существовать; области OAuth в предоставленных учетных данных должны предоставлять доступ на чтение к этому типу данных. Набор данных в ответе будет иметь тот же идентификатор источника данных. Примечание. Данные могут быть агрегированы либо по dataTypeName, либо по dataSourceId, но не по тому и другому. | |
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 | Поток активности по умолчанию будет использоваться, если не указан конкретный идентификатор ActivityDataSourceId. | |
bucketByActivitySegment | nested object | Указывает, что данные должны агрегироваться для каждого сегмента активности, записанного для пользователя. Аналогично BucketByActivitySegment, но сегментирование выполняется для каждого сегмента активности, а не для всех сегментов одного типа. Взаимоисключаются другие характеристики группирования. | |
bucketByActivitySegment. minDurationMillis | long | Указывает, что только сегменты активности длительностью более minDurationMillis рассматриваются и используются в качестве контейнера для агрегированных данных. | |
bucketByActivitySegment. activityDataSourceId | string | Поток активности по умолчанию будет использоваться, если не указан конкретный идентификатор ActivityDataSourceId. |
Ответ
В случае успеха этот метод возвращает тело ответа следующей структуры:
{ "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 | Для каждого AggregateBy в запросе будет один набор данных. | |
bucket[]. session | nested object | Доступно для Bucket.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 номер проекта разработчика будет отражен в идентификаторах потока данных источника данных, а не в имени пакета. | |
bucket[].session.application. version | string | Версия приложения. Вам следует обновлять это поле всякий раз, когда в приложении происходят изменения, влияющие на вычисление данных. | |
bucket[].session.application. detailsUrl | string | Необязательный URI, который можно использовать для обратной ссылки на приложение. | |
bucket[].session.application. name | string | Имя этого приложения. Это необходимо для клиентов 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 | Доступно для Bucket.Type.ACTIVITY_TYPE, Bucket.Type.ACTIVITY_SEGMENT. |
Попробуйте!
Используйте API-интерфейс ниже, чтобы вызвать этот метод для реальных данных и просмотреть ответ.