Users.dataset: aggregate

Tổng hợp dữ liệu của một loại hoặc luồng nhất định thành các nhóm được chia theo loại ranh giới. Nhiều tập dữ liệu thuộc nhiều loại và từ nhiều tập dữ liệu có thể được tổng hợp vào đúng một loại nhóm cho mỗi yêu cầu. Thử ngay.

Yêu cầu

Yêu cầu HTTP

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

Tham số

Tên thông số Giá trị Mô tả
Tham số đường dẫn
userId string Dữ liệu tổng hợp về người đã được xác định. Sử dụng me để cho biết người dùng đã xác thực. Hiện chỉ hỗ trợ me.

Ủy quyền

Yêu cầu này cần có sự uỷ quyền với ít nhất một trong các phạm vi sau:

Phạm vi
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

Để biết thêm thông tin, hãy xem trang xác thực và uỷ quyền.

Nội dung yêu cầu

Trong nội dung yêu cầu, hãy cung cấp dữ liệu theo cấu trúc sau:

{
  "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
  }
}
Tên tài sản Giá trị Mô tả Ghi chú
startTimeMillis long Thời điểm bắt đầu một khoảng thời gian. Dữ liệu giao cắt với khoảng thời gian này sẽ được tổng hợp. Thời gian tính bằng mili giây kể từ thời gian bắt đầu của hệ thống.
endTimeMillis long Sự kết thúc của một khoảng thời gian. Dữ liệu giao cắt với khoảng thời gian này sẽ được tổng hợp. Thời gian tính bằng mili giây kể từ thời gian bắt đầu của hệ thống.
aggregateBy[] list Quy cách dữ liệu cần tổng hợp. Bạn phải cung cấp ít nhất một thông số kỹ thuật collectionsBy. Mọi dữ liệu được chỉ định sẽ được tổng hợp theo cùng tiêu chí phân bộ chứa. Sẽ có một tập dữ liệu trong nội dung phản hồi cho mỗi thông số enumBy.
aggregateBy[].dataTypeName string Loại dữ liệu cần tổng hợp. Tất cả các nguồn dữ liệu cung cấp loại dữ liệu này sẽ đóng góp dữ liệu cho quá trình tổng hợp. Câu trả lời sẽ chứa một tập dữ liệu duy nhất cho tên loại dữ liệu này. Tập dữ liệu sẽ có mã nguồn dữ liệu dẫn xuất là::com.google.android.gms:aggregate. Nếu người dùng không có dữ liệu nào cho loại dữ liệu này, thì một tập dữ liệu trống sẽ được trả về. Lưu ý: Bạn không thể tổng hợp dữ liệu theo dataTypeName hoặc dataSourceId theo cả hai.
aggregateBy[].dataSourceId string Mã nguồn dữ liệu để tổng hợp. Chỉ dữ liệu từ mã nguồn dữ liệu đã chỉ định mới được đưa vào dữ liệu tổng hợp. Nếu được chỉ định, nguồn dữ liệu này phải tồn tại; thì phạm vi OAuth trong thông tin đăng nhập đã cung cấp phải cấp quyền đọc cho loại dữ liệu này. Tập dữ liệu trong câu trả lời sẽ có cùng mã nguồn dữ liệu. Lưu ý: Bạn không thể tổng hợp dữ liệu theo dataTypeName hoặc dataSourceId theo cả hai.
filteredDataQualityStandard[] list ĐỪNG PHỔ BIẾN TRƯỜNG NÀY. Hành động này sẽ bị bỏ qua.
bucketByTime nested object Chỉ định dữ liệu được tổng hợp theo một khoảng thời gian duy nhất. Loại trừ lẫn nhau các thông số kỹ thuật phân giỏ khác.
bucketByTime.durationMillis long Chỉ định kết quả sẽ nhóm dữ liệu tổng hợp theo chính xác khung thời gian DurationMillis. Khung thời gian không chứa dữ liệu sẽ được đưa vào câu trả lời có tập dữ liệu trống.
bucketByTime.period nested object
bucketByTime.period.type string

Các giá trị được chấp nhận là:
  • "day"
  • "month"
  • "week"
bucketByTime.period.value integer
bucketByTime.period.timeZoneId string org.joda.timezone.DateTimeZone
bucketBySession nested object Chỉ định dữ liệu sẽ được tổng hợp theo phiên hoạt động của người dùng. Dữ liệu không nằm trong phạm vi thời gian của một phiên hoạt động sẽ không được đưa vào câu trả lời. Loại trừ lẫn nhau các thông số kỹ thuật phân giỏ khác.
bucketBySession.minDurationMillis long Chỉ định rằng chỉ các phiên có thời lượng dài hơn minDurationMillis mới được xem xét và sử dụng làm vùng chứa cho dữ liệu tổng hợp.
bucketByActivityType nested object Chỉ định dữ liệu được tổng hợp theo loại hoạt động được thực hiện khi dữ liệu được ghi lại. Tất cả dữ liệu được ghi lại trong một loại hoạt động nhất định (trong khoảng thời gian nhất định) sẽ được tổng hợp vào cùng một bộ chứa. Dữ liệu được ghi lại khi người dùng không hoạt động sẽ không được đưa vào câu trả lời. Loại trừ lẫn nhau các thông số kỹ thuật phân giỏ khác.
bucketByActivityType.minDurationMillis long Chỉ định rằng chỉ các phân đoạn hoạt động có thời lượng dài hơn minDurationMillis mới được xem xét và sử dụng làm vùng chứa cho dữ liệu tổng hợp.
bucketByActivityType.activityDataSourceId string Luồng hoạt động mặc định sẽ được sử dụng nếu một activityDataSourceId cụ thể không được chỉ định.
bucketByActivitySegment nested object Chỉ định dữ liệu sẽ được tổng hợp theo từng phân khúc hoạt động được ghi lại cho người dùng. Tương tự như nhómByActivitySegment, nhưng phân nhóm được thực hiện cho từng phân đoạn hoạt động thay vì tất cả các phân đoạn cùng loại. Loại trừ lẫn nhau các thông số kỹ thuật phân giỏ khác.
bucketByActivitySegment.minDurationMillis long Chỉ định rằng chỉ các phân đoạn hoạt động có thời lượng dài hơn minDurationMillis mới được xem xét và sử dụng làm vùng chứa cho dữ liệu tổng hợp.
bucketByActivitySegment.activityDataSourceId string Luồng hoạt động mặc định sẽ được sử dụng nếu một activityDataSourceId cụ thể không được chỉ định.

Phản hồi

Nếu thành công, phương thức này sẽ trả về nội dung phản hồi có cấu trúc như sau:

{
  "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
    }
  ]
}
Tên tài sản Giá trị Mô tả Ghi chú
bucket[] list Danh sách các nhóm chứa dữ liệu tổng hợp.
bucket[].type string Loại bộ chứa cho biết cách thực hiện tổng hợp dữ liệu trong bộ chứa đó.

Các giá trị được chấp nhận là:
  • "activitySegment"
  • "activityType"
  • "session"
  • "time"
  • "unknown"
bucket[].startTimeMillis long Thời gian bắt đầu cho dữ liệu tổng hợp, tính bằng mili giây kể từ thời gian bắt đầu của hệ thống, tính toàn bộ.
bucket[].endTimeMillis long Thời gian kết thúc cho dữ liệu tổng hợp, tính bằng mili giây kể từ thời gian bắt đầu của hệ thống, tính toàn bộ.
bucket[].dataset[] list Sẽ có một tập dữ liệu cho mỗi AggregateBy trong yêu cầu.
bucket[].session nested object Có sẵn cho Bucket.Type.SESSION
bucket[].session.id string Giá trị nhận dạng do khách hàng tạo riêng biệt trên tất cả các phiên hoạt động do người dùng cụ thể này sở hữu.
bucket[].session.name string Tên phiên dễ đọc.
bucket[].session.description string Nội dung mô tả cho phiên này.
bucket[].session.startTimeMillis long Thời gian bắt đầu, tính bằng mili giây kể từ thời gian bắt đầu của hệ thống, tính toàn bộ.
bucket[].session.endTimeMillis long Thời gian kết thúc, tính bằng mili giây kể từ thời gian bắt đầu của hệ thống, tính toàn bộ.
bucket[].session.modifiedTimeMillis long Dấu thời gian cho biết thời điểm phiên được sửa đổi lần gần đây nhất.
bucket[].session.application nested object Ứng dụng đã tạo phiên.
bucket[].session.application.packageName string Tên gói cho ứng dụng này. Giá trị này dùng làm giá trị nhận dạng duy nhất khi do các ứng dụng Android tạo, nhưng ứng dụng REST không thể chỉ định được. Máy khách REST sẽ được phản ánh số dự án nhà phát triển của họ trong mã luồng dữ liệu Nguồn dữ liệu, thay vì packageName.
bucket[].session.application.version string Phiên bản của ứng dụng. Bạn nên cập nhật trường này bất cứ khi nào ứng dụng thay đổi theo hướng ảnh hưởng đến việc tính toán dữ liệu.
bucket[].session.application.detailsUrl string URI tuỳ chọn có thể dùng để liên kết lại ứng dụng.
bucket[].session.application.name string Tên của ứng dụng này. Điều này là bắt buộc đối với các ứng dụng REST, nhưng chúng tôi không thực thi tính duy nhất của tên này. API này được cung cấp để thuận tiện cho các nhà phát triển khác muốn xác định REST nào đã tạo Ứng dụng hoặc Nguồn dữ liệu.
bucket[].session.activityType integer Loại hoạt động trong phiên này.
bucket[].session.activeTimeMillis long Thời gian hoạt động của phiên. Mặc dù start_time_millis và end_time_millis xác định thời gian toàn bộ phiên, nhưng thời gian hoạt động có thể ngắn hơn và được chỉ định bằng activity_time_millis. Nếu xác định được thời gian không hoạt động trong phiên, bạn cũng nên chèn thời gian đó qua một điểm dữ liệu com.google.activity.segment với giá trị hoạt động VẪN

bucket[].activity integer Có sẵn cho Bucket.Type.ACTIVITY_TYPE, Bucket.Type.ACTIVITY_SEGMENT

Hãy dùng thử!

Hãy sử dụng APIs Explorer (Trình khám phá API) bên dưới để gọi phương thức này trên dữ liệu trực tiếp và xem phản hồi.