Users.dataset: aggregate

Агрегирует данные определенного типа или потока в сегменты, разделенные границей заданного типа. Несколько наборов данных разных типов и из нескольких источников могут быть агрегированы ровно в один тип корзины для каждого запроса. Попробуйте сейчас .

Запрос

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 Тип данных для агрегирования. Все источники данных, предоставляющие этот тип данных, будут вносить данные в агрегацию. Ответ будет содержать один набор данных для этого имени типа данных. Набор данных будет иметь производный идентификатор источника данных: :com.google.android.gms:агрегировано. Если у пользователя нет данных для этого типа данных, будет возвращен пустой набор данных. Примечание. Данные могут быть агрегированы либо по dataTypeName, либо по dataSourceId, но не по тому и другому.
aggregateBy[]. dataSourceId string Идентификатор источника данных для агрегирования. В агрегацию будут включены только данные из указанного идентификатора источника данных. Если указано, этот источник данных должен существовать; области OAuth в предоставленных учетных данных должны предоставлять доступ на чтение к этому типу данных. Набор данных в ответе будет иметь тот же идентификатор источника данных. Примечание. Данные могут быть агрегированы либо по dataTypeName, либо по dataSourceId, но не по тому и другому.
filteredDataQualityStandard[] list НЕ ЗАПОЛНЯЙТЕ ЭТО ПОЛЕ. Это игнорируется.
bucketByTime nested object Указывает, что данные должны быть агрегированы по одному интервалу времени. Взаимоисключаются другие характеристики группирования.
bucketByTime. durationMillis long Указывает, что сегменты результатов агрегируют данные точно по временным интервалам продолжительностью в миллисах. Временные рамки, не содержащие данных, будут включены в ответ с пустым набором данных.
bucketByTime. period nested object
bucketByTime.period. type string

Приемлемые значения:
  • " day "
  • " month "
  • " week "
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 Тип сегмента показывает, как в нем выполняется агрегирование данных.

Приемлемые значения:
  • " activitySegment "
  • " activityType "
  • " session "
  • " time "
  • " unknown "
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-интерфейс ниже, чтобы вызвать этот метод для реальных данных и просмотреть ответ.