Datenquellen verwalten

Mit der Fitness REST API können Sie Datenquellen erstellen, abrufen und aktualisieren. Eine Datenquelle stellt eine einzigartige Quelle von Sensordaten dar. Sie verwenden Datenquellen, um Fitnessdaten in den Fitnessspeicher einzufügen, und Sie können Fitnessdaten abrufen, die von einer bestimmten Datenquelle eingefügt wurden.

Datenquellen werden durch die Ressource Users.dataSources dargestellt.

Datenquelle erstellen

In diesem Beispiel wird gezeigt, wie Sie eine neue Datenquelle mit dem Namen „MyDataSource“ mit Schrittanzahl erstellen.

HTTP-Methode
POST
Anfrage-URL
https://www.googleapis.com/fitness/v1/users/me/dataSources
Anfragetext
{
  "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"
  }
}

Antwort

Wenn die Datenquelle erstellt wurde, wird der Statuscode 200 OK zurückgegeben. Der Antworttext enthält eine JSON-Darstellung der Datenquelle, einschließlich des Attributs datasource.dataStreamId, das Sie als Datenquellen-ID für nachfolgende Anfragen verwenden können.

Curl-Befehl
$ 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"

Bestimmte Datenquelle abrufen

In diesem Beispiel wird gezeigt, wie Sie die im vorherigen Beispiel erstellte Datenquelle („MyDataSource“) abrufen. Wenn Sie eine neue Datenquelle erstellen, enthält dataStreamId eine eindeutige Kennung, die in diesen Beispielen als „1234567890“ angezeigt wird. Dies ist die Nummer Ihres Entwicklerprojekts. Diese Nummer ist für alle Anfragen über dieses Entwicklerkonto identisch. Achten Sie darauf, den dataStreamId aus der von Ihnen erstellten Datenquelle zu verwenden.

HTTP-Methode
GET
Anfrage-URL
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
Anfragetext
Keine
Antwort
Wenn die Datenquelle vorhanden ist, wird der Statuscode 200 OK zurückgegeben. Der Antworttext enthält eine JSON-Darstellung der Datenquelle.
Curl-Befehl
$ 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"

Aggregierte Daten abrufen

In diesem Beispiel wird gezeigt, wie Sie eine bestimmte Datenquelle für aggregierte Daten abfragen, in diesem Fall estimated_steps. Dies ist die Datenquelle, mit der die Schrittzahl in der Google Fit App angezeigt wird. Beachten Sie, dass Zeitstempel im JSON-Anfragetext in Millisekunden angegeben werden.

HTTP-Methode
POST
Anfrage-URL
https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate
Anfragetext
{
  "aggregateBy": [{
    "dataSourceId":
      "derived:com.google.step_count.delta:com.google.android.gms:estimated_steps"
  }],
  "bucketByTime": { "durationMillis": 86400000 },
  "startTimeMillis": 1454284800000,
  "endTimeMillis": 1455062400000
}

Antwort

Wenn die Datenquelle(n) vorhanden ist, wird der Statuscode 200 OK zurückgegeben. Der Antworttext enthält eine JSON-Darstellung der Datenquelle.

Curl-Befehl
$ 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"

Datenquellen aktualisieren

In diesem Beispiel wird gezeigt, wie Sie den Namen und die Geräteversion für eine Datenquelle aktualisieren.

HTTP-Methode
PUT
Anfrage-URL
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
Anfragetext
{
  "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"
  }
}

Antwort

Wenn die Datenquelle aktualisiert wurde, wird der Statuscode 200 OK zurückgegeben. Der Antworttext enthält eine JSON-Darstellung der Datenquelle.

Curl-Befehl
$ 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"

Datenquellen löschen

In diesem Beispiel wird gezeigt, wie Sie eine Datenquelle löschen.

HTTP-Methode
LÖSCHEN
Anfrage-URL
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
Anfragetext
Keine
Antwort
Wenn die Datenquelle gelöscht wurde, wird der Statuscode 200 OK zurückgegeben. Der Antworttext enthält eine JSON-Darstellung der gelöschten Datenquelle.
Curl-Befehl
$ 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"