Управление источниками данных

Fitness REST API позволяет создавать, получать и обновлять источники данных. Источник данных представляет собой уникальный источник данных датчиков. Вы используете источники данных для вставки данных о фитнесе в хранилище данных о фитнесе, а также можете получать данные о фитнесе, вставленные из определенного источника данных.

Источники данных представлены ресурсом Users.dataSources .

Создать источник данных

В этом примере показано, как создать новый источник данных с именем «MyDataSource», который обеспечивает приращение количества шагов.

HTTP-метод
ПОЧТА
URL-адрес запроса
https://www.googleapis.com/fitness/v1/users/me/dataSources
Тело запроса
{
  "dataStreamName": "MyDataSource",
  "type": "derived",
  "application": {
    "detailsUrl": "http://example.com",
    "name": "Foo Example App",
    "version": "1"
  },
  "dataType": {
    "field": [
      {
        "name": "steps",
        "format": "integer"
      }
    ],
    "name": "com.google.step_count.delta"
  },
  "device": {
    "manufacturer": "Example Manufacturer",
    "model": "ExampleTablet",
    "type": "tablet",
    "uid": "1000001",
    "version": "1.0"
  }
}

Ответ

Если источник данных создан успешно, ответом будет код состояния 200 OK . Текст ответа содержит представление источника данных в формате JSON, включая свойство datasource.dataStreamId , которое можно использовать в качестве идентификатора источника данных для последующих запросов.

Команда скручивания
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" -X POST \
--header "Content-Type: application/json;encoding=utf-8" -d @createds.json \
"https://www.googleapis.com/fitness/v1/users/me/dataSources"

Получить конкретный источник данных

В этом примере показано, как получить источник данных («MyDataSource»), созданный в предыдущем примере. Когда вы создаете новый источник данных, dataStreamId включает уникальный идентификатор (в этих примерах показан как «1234567890»). Это номер вашего проекта разработчика, и он будет одинаковым для всех запросов, сделанных с использованием этой конкретной учетной записи разработчика. Обязательно используйте dataStreamId из созданного вами источника данных.

HTTP-метод
ПОЛУЧАТЬ
URL-адрес запроса
https://www.googleapis.com/fitness/v1/users/me/dataSources/ derived:com.google.step_count.delta: 1234567890 :Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
Тело запроса
Никто
Ответ
Если источник данных существует, ответом будет код состояния 200 OK . Тело ответа содержит JSON-представление источника данных.
Команда скручивания
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" -X GET 
--header "Content-Type: application/json;encoding=utf-8"
"https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource"

Получить агрегированные данные

В этом примере показано, как запросить агрегированные данные из определенного источника данных, в данном случае estimated_steps , который является источником данных, используемым для отображения количества шагов в приложении Google Fit. Обратите внимание, что временные метки в теле запроса JSON указаны в миллисекундах.

HTTP-метод
ПОЧТА
URL-адрес запроса
https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate
Тело запроса
{
  "aggregateBy": [{
    "dataSourceId":
      "derived:com.google.step_count.delta:com.google.android.gms:estimated_steps"
  }],
  "bucketByTime": { "durationMillis": 86400000 },
  "startTimeMillis": 1454284800000,
  "endTimeMillis": 1455062400000
}

Ответ

Если источник(и) данных существует, ответом будет код состояния 200 OK . Тело ответа содержит JSON-представление источника данных.

Команда скручивания
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" -X POST \
--header "Content-Type: application/json;encoding=utf-8" -d @aggregate.json \
"https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate"

Обновить источник данных

В этом примере показано, как обновить имя и версию устройства для источника данных.

HTTP-метод
ПОМЕЩАТЬ
URL-адрес запроса
https://www.googleapis.com/fitness/v1/users/me/dataSources/ derived:com.google.step_count.delta: 1234567890 :Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
Тело запроса
{
  "dataStreamId": "derived:com.google.step_count.delta:1234567890:Example Manufacturer:ExampleTablet:1000001:MyDataSource",
  "dataStreamName": "MyDataSource",
  "type": "derived",
  "application": {
    "detailsUrl": "http://example.com",
    "name": "Foo Example App",
    "version": "1"
  },
  "dataType": {
    "field": [
      {
        "name": "steps",
        "format": "integer"
      }
    ],
    "name": "com.google.step_count.delta"
  },
  "device": {
    "manufacturer": "Example Manufacturer",
    "model": "ExampleTablet",
    "type": "tablet",
    "uid": "1000001",
    "version": "2.0"
  }
}

Ответ

Если источник данных обновлен успешно, ответом будет код состояния 200 OK . Тело ответа содержит JSON-представление источника данных.

Команда скручивания
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" -X PUT \
--header "Content-Type: application/json;encoding=utf-8" -d @updateds.json \
"https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource"

Удаление источника данных

В этом примере показано, как удалить источник данных.

HTTP-метод
УДАЛИТЬ
URL-адрес запроса
https://www.googleapis.com/fitness/v1/users/me/dataSources/ derived:com.google.step_count.delta: 1234567890 :Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
Тело запроса
Никто
Ответ
Если источник данных успешно удален, ответом будет код состояния 200 OK . Тело ответа содержит JSON-представление удаленного источника данных.
Команда скручивания
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" -X DELETE \
--header "Content-Type: application/json;encoding=utf-8" \
"https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource"