Veri Kaynaklarını Yönetme

Fitness REST API, veri kaynakları oluşturmanızı, elde etmenizi ve güncellemenizi sağlar. Veri kaynağı, benzersiz bir sensör verisi kaynağını temsil eder. Fitness deposuna fitness verileri eklemek için veri kaynaklarını kullanabilir ve belirli bir veri kaynağı tarafından eklenen fitness verilerini alabilirsiniz.

Veri kaynakları, Users.dataSources kaynağıyla temsil edilir.

Veri kaynağı oluşturma

Bu örnekte, adım sayısı artışları sağlayan "MyDataSource" adlı yeni bir veri kaynağının nasıl oluşturulacağı gösterilmektedir.

HTTP yöntemi
POST
İstek URL'si
https://www.googleapis.com/fitness/v1/users/me/dataSources
İstek içeriği
{
  "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"
  }
}

Yanıt

Veri kaynağı başarıyla oluşturulursa yanıt, bir 200 OK durum kodu olur. Yanıt gövdesi, veri kaynağının JSON gösterimini içerir. Bu temsilde, sonraki istekler için veri kaynağı kimliği olarak kullanabileceğiniz bir datasource.dataStreamId özelliği de bulunur.

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

Belirli bir veri kaynağını alma

Bu örnek, önceki örnekte oluşturduğunuz veri kaynağının ("MyDataSource") nasıl alınacağını gösterir. Yeni bir veri kaynağı oluşturduğunuzda, dataStreamId benzersiz bir tanımlayıcı (bu örneklerde "1234567890" olarak gösterilmektedir) içerir. Bu sizin geliştirici proje numaranızdır ve söz konusu geliştirici hesabı kullanılarak yapılan tüm istekler için aynı olur. Oluşturduğunuz veri kaynağındaki dataStreamId öğesini kullandığınızdan emin olun.

HTTP yöntemi
GET
İstek URL'si
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
İstek içeriği
Hiçbiri
Yanıt
Veri kaynağı mevcutsa yanıt bir 200 OK durum kodu olur. Yanıt gövdesi, veri kaynağının JSON temsilini içerir.
Curl komutu
$ 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"

Birleştirilmiş verileri alma

Bu örnekte, birleştirilmiş veriler için belirli bir veri kaynağının nasıl sorgulanacağı gösterilmektedir. Bu örnekte estimated_steps, Google Fit uygulamasında adım sayısını göstermek için kullanılan veri kaynağıdır. JSON istek gövdesindeki zaman damgalarının milisaniye cinsinden olduğunu unutmayın.

HTTP yöntemi
POST
İstek URL'si
https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate
İstek içeriği
{
  "aggregateBy": [{
    "dataSourceId":
      "derived:com.google.step_count.delta:com.google.android.gms:estimated_steps"
  }],
  "bucketByTime": { "durationMillis": 86400000 },
  "startTimeMillis": 1454284800000,
  "endTimeMillis": 1455062400000
}

Yanıt

Veri kaynakları mevcutsa yanıt, 200 OK durum kodu olur. Yanıt gövdesi, veri kaynağının JSON gösterimini içerir.

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

Veri kaynağını güncelleme

Bu örnekte, bir veri kaynağı için adın ve cihaz sürümünün nasıl güncelleneceği gösterilmektedir.

HTTP yöntemi
PUT
İstek URL'si
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
İstek içeriği
{
  "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"
  }
}

Yanıt

Veri kaynağı başarıyla güncellenirse yanıt, 200 OK durum kodu olur. Yanıt gövdesi, veri kaynağının JSON gösterimini içerir.

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

Veri kaynağını silme

Bu örnekte, bir veri kaynağının nasıl silineceği gösterilmektedir.

HTTP yöntemi
SİL
İstek URL'si
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
İstek içeriği
Hiçbiri
Yanıt
Veri kaynağı başarıyla silinirse yanıt, 200 OK durum kodu olur. Yanıt gövdesi, silinmiş veri kaynağının JSON gösterimini içerir.
Curl komutu
$ 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"