Datenquellen verwalten

Mit der Fitness REST API können Sie Datenquellen erstellen, abrufen und aktualisieren. Eine Datenquelle stellt eine eindeutige 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“ erstellen, die Schrittzahlen erhöht.

HTTP-Methode
POSTEN
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 erfolgreich erstellt wurde, ist die Antwort ein 200 OK-Statuscode. Der Antworttext enthält eine JSON-Darstellung der Datenquelle, einschließlich eines datasource.dataStreamId-Attributs, 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 Datenquelle ("MyDataSource") abrufen, die Sie im vorherigen Beispiel erstellt haben. Wenn Sie eine neue Datenquelle erstellen, enthält dataStreamId eine eindeutige Kennung, die in diesen Beispielen als „1234567890“ angezeigt wird. Das ist deine Entwicklerprojektnummer. Sie ist für alle Anfragen über dieses Entwicklerkonto identisch. Achten Sie darauf, den dataStreamId aus der erstellten Datenquelle zu verwenden.

HTTP-Methode
LADEN
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, ist die Antwort ein 200 OK-Statuscode. 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 eine bestimmte Datenquelle nach aggregierten Daten abgefragt wird, in diesem Fall estimated_steps. Dies ist die Datenquelle, die zum Anzeigen der Schrittzahl in der Google Fit App verwendet wird. Die Zeitstempel im JSON-Anfragetext werden in Millisekunden angegeben.

HTTP-Methode
POSTEN
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, ist die Antwort ein 200 OK-Statuscode. 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"

Datenquelle 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 erfolgreich aktualisiert wurde, ist die Antwort ein 200 OK-Statuscode. 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 erfolgreich gelöscht wurde, ist die Antwort der Statuscode 200 OK. 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"