Como gerenciar fontes de dados
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
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"
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-08-31 UTC.
[null,null,["Última atualização 2025-08-31 UTC."],[[["\u003cp\u003eThe Fitness REST API allows you to manage data sources, which represent unique sources of sensor data for inserting and retrieving fitness data within the Fitness Store.\u003c/p\u003e\n"],["\u003cp\u003eYou can create, retrieve, update, and delete data sources using the API with specific HTTP methods and request URLs.\u003c/p\u003e\n"],["\u003cp\u003eData sources can be identified using a unique \u003ccode\u003edataStreamId\u003c/code\u003e, including your developer project number, for subsequent interactions.\u003c/p\u003e\n"],["\u003cp\u003eThe API supports aggregating data from specific data sources within defined time ranges, like retrieving daily step counts.\u003c/p\u003e\n"],["\u003cp\u003eData source management should follow responsible data handling practices as outlined in the Google Fit guidelines for user privacy and security.\u003c/p\u003e\n"]]],[],null,["# Managing Data Sources\n\nThe Fitness REST API lets you create, obtain, and update data sources. A data source represents\na unique source of sensor data. You use data sources to insert fitness data into the fitness\nstore, and you can retrieve fitness data inserted by a particular data source.\n\nData sources are represented by the [`Users.dataSources`](/fit/rest/v1/reference/users/dataSources)\nresource.\n| **Important:** For best practices when managing user data, see [Responsible use of Google Fit](/fit/overview#responsible_use_of_google_fit).\n\nCreate a data source\n--------------------\n\nThis example demonstrates how to create a new data source named \"MyDataSource\"\nthat provides step count increments.\n\nHTTP method\n: POST\n\nRequest URL\n: `https://www.googleapis.com/fitness/v1/users/me/dataSources`\n\nRequest body\n:\n\n {\n \"dataStreamName\": \"MyDataSource\",\n \"type\": \"derived\",\n \"application\": {\n \"detailsUrl\": \"http://example.com\",\n \"name\": \"Foo Example App\",\n \"version\": \"1\"\n },\n \"dataType\": {\n \"field\": [\n {\n \"name\": \"steps\",\n \"format\": \"integer\"\n }\n ],\n \"name\": \"com.google.step_count.delta\"\n },\n \"device\": {\n \"manufacturer\": \"Example Manufacturer\",\n \"model\": \"ExampleTablet\",\n \"type\": \"tablet\",\n \"uid\": \"1000001\",\n \"version\": \"1.0\"\n }\n }\n\nResponse\n\n: If the data source is created successfully, the response is a `200 OK` status\n code. The response body contains a JSON representation of the data source,\n including a [`datasource.dataStreamId`](/fit/rest/v1/reference/users/dataSources#dataStreamId)\n property that you can use as the data source ID for subsequent requests.\n\nCurl command\n:\n\n ```\n $ curl --header \"Authorization: Bearer ya29.yourtokenvalue\" -X POST \\\n --header \"Content-Type: application/json;encoding=utf-8\" -d @createds.json \\\n \"https://www.googleapis.com/fitness/v1/users/me/dataSources\"\n ```\n\nGet a particular data source\n----------------------------\n\nThis example demonstrates how to retrieve the data source (\"MyDataSource\")\nthat you created in the previous example. When you create a new data source,\nthe `dataStreamId` includes a unique identifier (shown as \"1234567890\" in these\nexamples). This is your developer project number, and it will be the same for\nall requests made using that particular developer account. Be sure to use the\n`dataStreamId` from the data source you created.\n\nHTTP method\n: GET\n\nRequest URL\n: `https://www.googleapis.com/fitness/v1/users/me/dataSources/`**derived:com.google.step_count.delta:\u003cvar class=\"apiparam\" translate=\"no\"\u003e1234567890\u003c/var\u003e:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource**\n\nRequest body\n: None\n\nResponse\n: If the data source exists, the response is a `200 OK` status code. The response body contains a\n JSON representation of the data source.\n\nCurl command\n:\n\n ```\n $ curl --header \"Authorization: Bearer ya29.yourtokenvalue\" -X GET \n\n --header \"Content-Type: application/json;encoding=utf-8\" \n\n \"https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource\"\n ```\n\nGet aggregated data\n-------------------\n\nThis example demonstrates how to query a specific data source for aggregated\ndata, in this case `estimated_steps`, which is the data source used to show\nstep count in the Google Fit app. Note that timestamps in the JSON request\nbody are in milliseconds.\n\nHTTP method\n: POST\n\nRequest URL\n: `https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate`\n\nRequest body\n:\n\n {\n \"aggregateBy\": [{\n \"dataSourceId\":\n \"derived:com.google.step_count.delta:com.google.android.gms:estimated_steps\"\n }],\n \"bucketByTime\": { \"durationMillis\": 86400000 },\n \"startTimeMillis\": 1454284800000,\n \"endTimeMillis\": 1455062400000\n }\n\nResponse\n\n: If the data source(s) exist, the response is a `200 OK` status code. The\n response body contains a JSON representation of the data source.\n\nCurl command\n:\n\n ```\n $ curl --header \"Authorization: Bearer ya29.yourtokenvalue\" -X POST \\\n --header \"Content-Type: application/json;encoding=utf-8\" -d @aggregate.json \\\n \"https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate\"\n ```\n\nUpdate a data source\n--------------------\n\nThis example demonstrates how to update the name and device version for a data\nsource.\n\nHTTP method\n: PUT\n\nRequest URL\n: `https://www.googleapis.com/fitness/v1/users/me/dataSources/`**derived:com.google.step_count.delta:\u003cvar class=\"apiparam\" translate=\"no\"\u003e1234567890\u003c/var\u003e:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource**\n\nRequest body\n:\n\n {\n \"dataStreamId\": \"derived:com.google.step_count.delta:1234567890:Example Manufacturer:ExampleTablet:1000001:MyDataSource\",\n \"dataStreamName\": \"MyDataSource\",\n \"type\": \"derived\",\n \"application\": {\n \"detailsUrl\": \"http://example.com\",\n \"name\": \"Foo Example App\",\n \"version\": \"1\"\n },\n \"dataType\": {\n \"field\": [\n {\n \"name\": \"steps\",\n \"format\": \"integer\"\n }\n ],\n \"name\": \"com.google.step_count.delta\"\n },\n \"device\": {\n \"manufacturer\": \"Example Manufacturer\",\n \"model\": \"ExampleTablet\",\n \"type\": \"tablet\",\n \"uid\": \"1000001\",\n \"version\": \"2.0\"\n }\n }\n\nResponse\n\n: If the data source is updated successfully, the response is a `200 OK` status\n code. The response body contains a JSON representation of the data source.\n\nCurl command\n:\n\n ```\n $ curl --header \"Authorization: Bearer ya29.yourtokenvalue\" -X PUT \\\n --header \"Content-Type: application/json;encoding=utf-8\" -d @updateds.json \\\n \"https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource\"\n ```\n\nDelete a data source\n--------------------\n\nThis example demonstrates how to delete a data source.\n\nHTTP method\n: DELETE\n\nRequest URL\n: `https://www.googleapis.com/fitness/v1/users/me/dataSources/`**derived:com.google.step_count.delta:\u003cvar class=\"apiparam\" translate=\"no\"\u003e1234567890\u003c/var\u003e:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource**\n\nRequest body\n: None\n\nResponse\n: If the data source is deleted successfully, the response is a `200 OK` status\n code. The response body contains a JSON representation of the data source that\n was deleted.\n\nCurl command\n:\n\n ```\n $ curl --header \"Authorization: Bearer ya29.yourtokenvalue\" -X DELETE \\\n --header \"Content-Type: application/json;encoding=utf-8\" \\\n \"https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource\"\n ```"]]