Users.dataset: aggregate

Belirli bir türdeki veya akıştaki verileri belirli bir gruba bölünerek paketlere toplar. Sınır türünü seçin. Farklı türde ve birden fazla veri kümesinden kaynaklar, istek başına tam olarak bir paket türünde toplanabilir. Şimdi deneyin.

İstek

HTTP isteği

POST https://www.googleapis.com/fitness/v1/users/userId/dataset:aggregate

Parametreler

Parametre adı Değer Açıklama
Yol parametreleri
userId string Tanımlanan kişiyle ilgili birleştirilmiş veriler. Belirtmek için me kullanın kimlik doğrulaması yapılmış olmalıdır. Şu anda yalnızca me desteklenmektedir.

Yetkilendirme

Bu istek, aşağıdaki kapsamların en az biriyle yetkilendirme gerektiriyor:

Kapsam
https://www.googleapis.com/auth/fitness.activity.read
https://www.googleapis.com/auth/fitness.activity.write
https://www.googleapis.com/auth/fitness.location.read
https://www.googleapis.com/auth/fitness.location.write
https://www.googleapis.com/auth/fitness.body.read
https://www.googleapis.com/auth/fitness.body.write
https://www.googleapis.com/auth/fitness.nutrition.read
https://www.googleapis.com/auth/fitness.nutrition.write
https://www.googleapis.com/auth/fitness.blood_pressure.read
https://www.googleapis.com/auth/fitness.blood_pressure.write
https://www.googleapis.com/auth/fitness.blood_glucose.read
https://www.googleapis.com/auth/fitness.blood_glucose.write
https://www.googleapis.com/auth/fitness.oxygen_saturation.read
https://www.googleapis.com/auth/fitness.oxygen_saturation.write
https://www.googleapis.com/auth/fitness.body_temperature.read
https://www.googleapis.com/auth/fitness.body_temperature.write
https://www.googleapis.com/auth/fitness.reproductive_health.read
https://www.googleapis.com/auth/fitness.reproductive_health.write

Daha fazla bilgi edinmek için kimlik doğrulama ve yetkilendirme sayfasına göz atın.

İstek içeriği

İstek gövdesinde, verileri aşağıdaki yapıyla sağlayın:

{
  "startTimeMillis": long,
  "endTimeMillis": long,
  "aggregateBy": [
    {
      "dataTypeName": string,
      "dataSourceId": string
    }
  ],
  "filteredDataQualityStandard": [
    string
  ],
  "bucketByTime": {
    "durationMillis": long,
    "period": {
      "type": string,
      "value": integer,
      "timeZoneId": string
    }
  },
  "bucketBySession": {
    "minDurationMillis": long
  },
  "bucketByActivityType": {
    "minDurationMillis": long,
    "activityDataSourceId": string
  },
  "bucketByActivitySegment": {
    "minDurationMillis": long,
    "activityDataSourceId": string
  }
}
Mülk adı Değer Açıklama Notlar
startTimeMillis long Bir zaman aralığının başlangıcı. Bu zaman aralığıyla kesişen veriler toplanır. Epoch'tan bu yana geçen süre, bu süreler de dahil olmak üzere milisaniye cinsinden belirtilir.
endTimeMillis long Bir zaman aralığının sonu. Bu zaman aralığıyla kesişen veriler toplanır. Epoch'tan bu yana geçen süre, bu süreler de dahil olmak üzere milisaniye cinsinden belirtilir.
aggregateBy[] list Birleştirilecek verilerin spesifikasyonu. En az bir totalBy spec sağlanmalıdır. Belirtilen tüm veriler, aynı gruplandırma ölçütleri kullanılarak toplanır. Her totalBy spec için yanıtta bir veri kümesi olacaktır.
aggregateBy[].dataTypeName string Toplanacak veri türü. Bu veri türünü sağlayan tüm veri kaynakları, toplama işlemine veri ekler. Yanıt, bu veri türü adı için tek bir veri kümesi içerir. Veri kümesinin veri kaynağı kimliği şu türde olur::com.google.android.gms:aggregated. Kullanıcının bu veri türü için verisi yoksa boş bir veri kümesi döndürülür. Not: Veriler, dataTypeName veya dataSourceId tarafından toplanabilir (ikisi birden değil).
aggregateBy[].dataSourceId string Toplanacak veri kaynağı kimliği. Yalnızca belirtilen veri kaynağı kimliğindeki veriler toplamaya dahil edilir. Belirtilmişse bu veri kaynağının mevcut olması gerekir; sağlanan kimlik bilgilerindeki OAuth kapsamları, bu veri türüne okuma erişimi vermelidir. Yanıttaki veri kümesi, aynı veri kaynağı kimliğine sahip olur. Not: Veriler, dataTypeName veya dataSourceId tarafından toplanabilir (ikisi birden değil).
filteredDataQualityStandard[] list BU ALANI DOLDURMAYIN. Yoksayılır.
bucketByTime nested object Verilerin tek bir zaman aralığına göre toplanacağını belirtir. Diğer paketleme spesifikasyonları aynı anda hariç tutulur.
bucketByTime.durationMillis long Sonuç paketlerinin verileri tam olarakDurationMillis zaman aralıklarına göre birleştirdiğini belirtir. Veri içermeyen zaman aralıkları, boş bir veri kümesiyle yanıta dahil edilir.
bucketByTime.period nested object
bucketByTime.period.type string

Kabul edilen değerler şunlardır:
  • "day"
  • "month"
  • "week"
bucketByTime.period.value integer
bucketByTime.period.timeZoneId string org.joda.timezone.DateTimeZone
bucketBySession nested object Verilerin kullanıcı oturumlarına göre toplanacağını belirtir. Bir oturumun zaman aralığına denk gelmeyen veriler yanıta dahil edilmez. Diğer paketleme spesifikasyonları aynı anda hariç tutulur.
bucketBySession.minDurationMillis long Yalnızca minDurationMillis değerinden daha uzun süreli oturumların dikkate alındığını ve birleştirilmiş veriler için kapsayıcı olarak kullanıldığını belirtir.
bucketByActivityType nested object Verilerin, veriler kaydedildiğinde gerçekleştirilen etkinliğin türüne göre toplanacağını belirtir. Belirli bir etkinlik türünde (belirtilen zaman aralığı için) kaydedilen tüm veriler aynı grupta toplanır. Kullanıcı etkin değilken kaydedilen veriler yanıta dahil edilmez. Diğer paketleme spesifikasyonları aynı anda hariç tutulur.
bucketByActivityType.minDurationMillis long Yalnızca minDurationMillis değerinden daha uzun süreye sahip etkinlik segmentlerinin birleştirilmiş veriler için bir kapsayıcı olarak dikkate alındığını ve kullanıldığını belirtir.
bucketByActivityType.activityDataSourceId string Belirli bir activityDataSourceId belirtilmediyse varsayılan etkinlik akışı kullanılır.
bucketByActivitySegment nested object Bir kullanıcı için kaydedilen her etkinlik segmentinin verilerin birleştirileceğini belirtir. BundleByActivitySegment'e benzer ancak aynı türdeki tüm segmentler yerine her bir etkinlik segmenti için gruplandırma yapılır. Diğer paketleme spesifikasyonları aynı anda hariç tutulur.
bucketByActivitySegment.minDurationMillis long Yalnızca minDurationMillis değerinden daha uzun süreye sahip etkinlik segmentlerinin birleştirilmiş veriler için bir kapsayıcı olarak dikkate alındığını ve kullanıldığını belirtir.
bucketByActivitySegment.activityDataSourceId string Belirli bir activityDataSourceId belirtilmediyse varsayılan etkinlik akışı kullanılır.

Yanıt

Başarılı olursa bu yöntem, aşağıdaki yapıya sahip bir yanıt gövdesi döndürür:

{
  "bucket": [
    {
      "type": string,
      "startTimeMillis": long,
      "endTimeMillis": long,
      "dataset": [
        users.dataSources.datasets Resource
      ],
      "session": {
        "id": string,
        "name": string,
        "description": string,
        "startTimeMillis": long,
        "endTimeMillis": long,
        "modifiedTimeMillis": long,
        "application": {
          "packageName": string,
          "version": string,
          "detailsUrl": string,
          "name": string
        },
        "activityType": integer,
        "activeTimeMillis": long
      },
      "activity": integer
    }
  ]
}
Mülk adı Değer Açıklama Notlar
bucket[] list Birleştirilmiş verileri içeren paket listesi.
bucket[].type string Paket türü, veri toplamanın pakette nasıl gerçekleştirildiğini gösterir.

Kabul edilen değerler şunlardır:
  • "activitySegment"
  • "activityType"
  • "session"
  • "time"
  • "unknown"
bucket[].startTimeMillis long Birleştirilmiş verilerin başlangıç zamanı (sıfırdan bu yana geçen milisaniye cinsinden (bu değerler dahil)).
bucket[].endTimeMillis long Birleştirilmiş verilerin bitiş zamanı (sıfırdan bu yana geçen milisaniye cinsinden) (bu değerler dahil).
bucket[].dataset[] list İstekteki her AggregateBy için bir veri kümesi olur.
bucket[].session nested object Bucket.Type.SESSION için kullanılabilir
bucket[].session.id string Söz konusu kullanıcının sahip olduğu tüm oturumlarda, istemci tarafından oluşturulan benzersiz tanımlayıcı.
bucket[].session.name string Oturumun kullanıcılar tarafından okunabilen adı.
bucket[].session.description string Bu oturumla ilgili açıklama.
bucket[].session.startTimeMillis long Dönemden bu yana geçen milisaniye cinsinden başlangıç zamanı (bu değerler dahil).
bucket[].session.endTimeMillis long Dönemden bu yana geçen milisaniye cinsinden bitiş zamanı (bu değerler dahil).
bucket[].session.modifiedTimeMillis long Oturumun en son ne zaman değiştirildiğini gösteren bir zaman damgası.
bucket[].session.application nested object Oturumu oluşturan uygulama.
bucket[].session.application.packageName string Bu uygulamanın paket adı. Bu ad, Android uygulamaları tarafından oluşturulduğunda benzersiz bir tanımlayıcı olarak kullanılır ancak REST istemcileri tarafından belirtilemez. REST istemcilerinin geliştirici proje numaraları, packageName yerine Veri Kaynağı veri akışı kimliklerine yansıtılır.
bucket[].session.application.version string Uygulamanın sürümü. Uygulama, verilerin hesaplamasını etkileyecek şekilde her değişiklik yaptığında bu alanı güncellemeniz gerekir.
bucket[].session.application.detailsUrl string Tekrar uygulamaya bağlantı vermek için kullanılabilecek isteğe bağlı bir URI.
bucket[].session.application.name string Bu uygulamanın adı. Bu, REST müşterileri için gereklidir ancak bu adın benzersiz olması zorunlu değildir. Bu bilgi, hangi REST'in bir Uygulama veya Veri Kaynağı oluşturduğunu belirlemek isteyen diğer geliştiricilere kolaylık sağlamak amacıyla sağlanmıştır.
bucket[].session.activityType integer Bu oturumun temsil ettiği etkinlik türü.
bucket[].session.activeTimeMillis long Oturumun etkin olma süresi. start_time_millis ve end_time_millis tam oturum süresini tanımlarken, aktif süre daha kısa olabilir veactive_time_millis ile belirtilebilir. Oturum sırasındaki etkin olmayan zaman biliniyorsa

STILL etkinlik değerine sahip bir com.google.activity.segment veri noktası aracılığıyla da eklenmelidir.
bucket[].activity integer Bucket.Type.ACTIVITY_TYPE, Bucket.Type.ACTIVITY_SEGMENT için kullanılabilir.

Deneyin!

Canlı verilerde bu yöntemi çağırmak ve yanıtı görmek için aşağıdaki API Gezgini'ni kullanın.