Como gerenciar fontes de dados

A API REST Fitness permite criar, acessar e atualizar fontes de dados. Uma fonte de dados representa uma fonte exclusiva de dados do sensor. Você usa fontes de dados para inserir dados de condicionamento físico no condicionamento físico e recuperar dados de condicionamento físico inseridos por uma fonte de dados específica.

As fontes de dados são representadas por Users.dataSources. recurso.

Criar uma fonte de dados

Este exemplo demonstra como criar uma nova fonte de dados chamada "MyDataSource" que fornece incrementos de contagem de passos.

Método HTTP
PÓS
URL de solicitação
https://www.googleapis.com/fitness/v1/users/me/dataSources
Corpo da solicitação
{
  "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"
  }
}
Resposta

Se a fonte de dados for criada corretamente, a resposta será um status 200 OK o código-fonte. O corpo da resposta contém uma representação JSON da fonte de dados, incluindo um datasource.dataStreamId que pode ser usada como o ID da origem de dados para solicitações subsequentes.

Comando curl
$ 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"

Acessar uma fonte de dados específica

Este exemplo demonstra como recuperar a fonte de dados ("MyDataSource") que você criou no exemplo anterior. Quando você cria uma fonte de dados, dataStreamId inclui um identificador exclusivo (mostrado como "1234567890" nestas exemplos). Esse é o número do seu projeto de desenvolvedor. Ele será o mesmo para todas as solicitações feitas usando essa conta de desenvolvedor específica. Use o parâmetro dataStreamId da fonte de dados que você criou.

Método HTTP
RECEBER
URL de solicitação
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
Corpo da solicitação
Nenhum
Resposta
Se a fonte de dados existir, a resposta será um código de status 200 OK. O corpo da resposta contém Representação JSON da fonte de dados.
Comando curl
$ 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"

Extrair dados agregados

Este exemplo demonstra como consultar uma fonte de dados específica para dados, neste caso estimated_steps, que é a fonte de dados usada para mostrar contagem de passos no app Google Fit. Observe que os carimbos de data/hora na solicitação JSON em milissegundos.

Método HTTP
PÓS
URL de solicitação
https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate
Corpo da solicitação
{
  "aggregateBy": [{
    "dataSourceId":
      "derived:com.google.step_count.delta:com.google.android.gms:estimated_steps"
  }],
  "bucketByTime": { "durationMillis": 86400000 },
  "startTimeMillis": 1454284800000,
  "endTimeMillis": 1455062400000
}
Resposta

Se houver fontes de dados, a resposta será um código de status 200 OK. A o corpo da resposta contém uma representação JSON da fonte de dados.

Comando curl
$ 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"

Atualizar uma fonte de dados

Este exemplo demonstra como atualizar o nome e a versão do dispositivo de um dado fonte.

Método HTTP
PUT
URL de solicitação
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
Corpo da solicitação
{
  "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"
  }
}
Resposta

Se a fonte de dados for atualizada, a resposta será um status 200 OK o código-fonte. O corpo da resposta contém uma representação JSON da fonte de dados.

Comando curl
$ 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"

Excluir uma fonte de dados

Neste exemplo, mostramos como excluir uma fonte de dados.

Método HTTP
EXCLUIR
URL de solicitação
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
Corpo da solicitação
Nenhum
Resposta
Se a fonte de dados for excluída com sucesso, a resposta será um status 200 OK o código-fonte. O corpo da resposta contém uma representação JSON da fonte de dados que foi excluído.
Comando curl
$ 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"