Veri Kaynaklarını Yönetme

Fitness REST API'si, veri kaynakları oluşturmanıza, edinmenize ve bu kaynakları güncellemenize olanak tanır. Veri kaynağı, sensör verilerinin benzersiz bir kaynağını temsil eder. Fitness mağazasına fitness verileri eklemek için veri kaynaklarını kullanırsınız ve belirli bir veri kaynağı tarafından eklenen fitness verilerini alabilirsiniz.

Veri kaynakları, Users.dataSources kaynağı tarafından temsil edilir.

Veri kaynağı oluşturma

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

HTTP yöntemi
YAYINLA
İstek URL'si
https://www.googleapis.com/fitness/v1/users/me/dataSources
İstek metni
{
  "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, 200 OK durum kodu olur. Yanıt gövdesi, sonraki istekler için veri kaynağı kimliği olarak kullanabileceğiniz bir datasource.dataStreamId özelliğini de içeren veri kaynağının JSON temsilini içerir.

URL 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ı ("MyDataSource") nasıl alacağınızı gösterir. Yeni bir veri kaynağı oluşturduğunuzda dataStreamId benzersiz bir tanımlayıcı içerir (bu örneklerde"1234567890"olarak gösterilmiştir). Bu, sizin geliştirici proje numaranızdır ve geliştirici hesabı kullanılarak yapılan tüm istekler için aynı olacaktır. Oluşturduğunuz veri kaynağındaki dataStreamId öğesini kullandığınızdan emin olun.

HTTP yöntemi
İNDİR
İ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 metni
Yok
Yanıt
Veri kaynağı varsa yanıt, 200 OK durum kodudur. Yanıt gövdesi, veri kaynağının JSON temsilini içerir.
URL 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, Google Fit uygulamasındaki adım sayısını göstermek için kullanılan veri kaynağı olan estimated_steps ile birleştirilmiş veriler için belirli bir veri kaynağının nasıl sorgulanacağı gösterilmektedir. JSON isteği gövdesindeki zaman damgalarının milisaniye cinsinden olduğuna dikkat edin.

HTTP yöntemi
YAYINLA
İstek URL'si
https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate
İstek metni
{
  "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 bir 200 OK durum kodu olur. Yanıt gövdesi, veri kaynağının JSON temsilini içerir.

URL 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ğının adının ve cihaz sürümünün nasıl güncelleneceği gösterilmektedir.

HTTP yöntemi
ÇEKME
İ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 metni
{
  "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 bir 200 OK durum kodu olur. Yanıt gövdesi, veri kaynağının JSON temsilini içerir.

URL 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 metni
Yok
Yanıt
Veri kaynağı başarıyla silinirse verilen yanıt, 200 OK durum kodu olur. Yanıt gövdesi, silinen veri kaynağının JSON temsilini içerir.
URL 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"