Users.dataset: aggregate

Belirli bir türe veya akışa ait verileri, belirli bir sınır türüne bölerek paketler. Birden fazla türden ve birden fazla kaynaktan gelen veri kümeleri, 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şi için birleştirilmiş veriler. Kimliği doğrulanmış kullanıcıyı belirtmek için me kullanın. Şu anda yalnızca me desteklenmektedir.

Yetkilendirme

Bu istek için aşağıdaki kapsamlardan en az biriyle yetkilendirme gereklidir:

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 için kimlik doğrulama ve yetkilendirme sayfasını inceleyin.

İstek metni

İstek gövdesinde, aşağıdaki yapıya sahip verileri 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. Dönem (dahil) tarihinden bu yana geçen süre milisaniye cinsindendir.
endTimeMillis long Zaman aralığının sonu. Bu zaman aralığıyla kesişen veriler toplanır. Dönem (dahil) tarihinden bu yana geçen süre milisaniye cinsindendir.
aggregateBy[] list Birleştirilecek verilerin spesifikasyonu. En az bir toplayıcıBy spesifikasyonu sağlanmalıdır. Belirtilen tüm veriler aynı paketleme ölçütleri kullanılarak toplanır. Yanıtta, totalaggregate spesifikasyonunun her biri için bir veri kümesi olacaktır.
aggregateBy[].dataTypeName string Birleştirilecek veri türü. Bu veri türünü sağlayan tüm veri kaynakları, toplamaya katkıda bulunur. Yanıt, bu veri türü adı için tek bir veri kümesi içerir. Veri kümesinin türetilmiş bir veri kaynağı kimliği olacaktır::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 veri türü adı veya veri kaynağı kimliği ile toplanabilir, ikisine birden toplanamaz.
aggregateBy[].dataSourceId string Birleştirilecek veri kaynağı kimliği. Yalnızca belirtilen veri kaynağı kimliğindeki veriler toplama dahil edilir. Belirtilirse bu veri kaynağı mevcut olmalıdır. 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 veri türü adı ya da veri kaynağı kimliği ile toplanabilir, ikisine birden toplanamaz.
filteredDataQualityStandard[] list BU ALANI DOLDURMAYIN. Yoksayılır.
bucketByTime nested object Verilerin tek bir zaman aralığıyla toplanacağını belirtir. Diğer paketleme spesifikasyonlarına karşılıklı olarak dahil değildir.
bucketByTime.durationMillis long Sonuç paketlerinin, verileri tam olarak timeMillis zaman aralıklarına göre birleştirdiğini belirtir. Veri içermeyen zaman aralıkları, boş bir veri kümesi ile yanıta dahil edilir.
bucketByTime.period nested object
bucketByTime.period.type string

Kabul edilebilir değerler şunlardır:
  • "day"
  • "month"
  • "week"
bucketByTime.period.value integer
bucketByTime.period.timeZoneId string org.joda.saat dilimi.TarihSaat Dilimi
bucketBySession nested object Verilerin kullanıcı oturumlarına göre toplanacağını belirtir. Bir oturumun zaman aralığına ait olmayan veriler yanıta dahil edilmez. Diğer paketleme spesifikasyonlarına karşılıklı olarak dahil değildir.
bucketBySession.minDurationMillis long Yalnızca mindurationMillis'ten daha uzun süreli oturumların değerlendirildiğini ve birleştirilmiş veriler için kapsayıcı olarak kullanıldığını belirtir.
bucketByActivityType nested object Verilerin, veriler kaydedildiğinde gerçekleştirilen etkinlik türüne göre toplanacağını belirtir. Belirli bir etkinlik türü sırasında (belirli bir zaman aralığında) kaydedilen tüm veriler aynı pakette toplanır. Kullanıcı etkin değilken kaydedilen veriler yanıta dahil edilmez. Diğer paketleme spesifikasyonlarına karşılıklı olarak dahil değildir.
bucketByActivityType.minDurationMillis long Yalnızca mindurationMillis süresinden uzun etkinlik segmentlerinin değerlendirildiğini ve birleştirilmiş veriler için kapsayıcı olarak kullanıldığını belirtir.
bucketByActivityType.activityDataSourceId string Belirli bir activityDataSourceId belirtilmezse varsayılan etkinlik akışı kullanılır.
bucketByActivitySegment nested object Veriler, kullanıcı için kaydedilen her bir etkinlik segmentinin toplanacağını belirtir. bucketByActivitySegment'e benzer, ancak gruplama aynı türdeki tüm segmentler yerine her bir etkinlik segmenti için yapılır. Diğer paketleme spesifikasyonlarına karşılıklı olarak dahil değildir.
bucketByActivitySegment.minDurationMillis long Yalnızca mindurationMillis süresinden uzun etkinlik segmentlerinin değerlendirildiğini ve birleştirilmiş veriler için kapsayıcı olarak kullanıldığını belirtir.
bucketByActivitySegment.activityDataSourceId string Belirli bir activityDataSourceId belirtilmezse 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 paketlerin listesi.
bucket[].type string Paket türü, veri toplamanın pakette nasıl gerçekleştirildiğini gösterir.

Kabul edilebilir değerler şunlardır:
  • "activitySegment"
  • "activityType"
  • "session"
  • "time"
  • "unknown"
bucket[].startTimeMillis long Dönem dahil olmak üzere, birleştirilmiş verilerin başlangıç zamanı (milisaniye cinsinden dahil).
bucket[].endTimeMillis long Dönem dahil olmak üzere, birleştirilmiş verilerin bitiş zamanı (milisaniye cinsinden dahil).
bucket[].dataset[] list İstekte AggregateBy başına bir veri kümesi olacaktır.
bucket[].session nested object Paket.Type.SESSION için kullanılabilir
bucket[].session.id string Bu kullanıcının sahip olduğu tüm oturumlarda benzersiz olan, istemci tarafından oluşturulan bir tanımlayıcı.
bucket[].session.name string Oturumun kullanıcılar tarafından okunabilen adı.
bucket[].session.description string Bu oturumun açıklaması.
bucket[].session.startTimeMillis long Dönemden bu yana, milisaniye cinsinden bir başlangıç zamanı.
bucket[].session.endTimeMillis long Dönemden bu yana, milisaniye cinsinden bir bitiş zamanı.
bucket[].session.modifiedTimeMillis long Oturumun en son ne zaman değiştirildiğini belirten bir zaman damgası.
bucket[].session.application nested object Oturumu oluşturan uygulama.
bucket[].session.application.packageName string Bu uygulamanın paket adı. Bu kimlik, Android uygulamaları tarafından benzersiz bir tanımlayıcı olarak kullanılır ancak REST istemcileri tarafından belirtilemez. REST istemcileri, packageName yerine Veri Kaynağı veri akışı kimliklerine geliştirici proje numarasını yansıtacaktır.
bucket[].session.application.version string Uygulamanın sürümü. Uygulama, verilerin hesaplanmasını etkileyecek şekilde değiştiğinde bu alanı güncellemeniz gerekir.
bucket[].session.application.detailsUrl string Uygulamaya yeniden bağlanmak 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 benzersizliğini zorunlu kılmayız. Hangi REST'in Uygulama veya Veri Kaynağı oluşturduğunu belirlemek isteyen diğer geliştiricilere kolaylık sağlamak amacıyla sunulmaktadır.
bucket[].session.activityType integer Bu oturumun temsil ettiği etkinlik türü.
bucket[].session.activeTimeMillis long Oturumun etkin olduğu zaman. start_time_millis ve end_time_millis tüm oturum zamanını tanımlarken etkin süre daha kısa olabilir ve Active_time_millis tarafından belirtilebilir. Oturum sırasında etkin olmayan zaman biliniyorsa SMALL etkinlik değeri ile bir com.google.activity.segment veri noktası da eklenmelidir

bucket[].activity integer Paket.Type. tesis türü

Deneyin.

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