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 chia cho một loại ranh giới cụ thể. Bạn có thể tổng hợp nhiều tập dữ liệu thuộc nhiều loại và từ nhiều nguồn thành đú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

Các tham số

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

Ủy quyền

Yêu cầu này yêu cầu 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à ủy quyền.

Nội dung yêu cầu

Trong phần nội dung yêu cầu, hãy cung cấp dữ liệu có 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ị Nội dung mô tả Lưu ý
startTimeMillis long Điểm bắt đầu của một khung thời gian. Dữ liệu giao nhau 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 Kết thúc một khoảng thời gian. Dữ liệu giao nhau 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 được tổng hợp. Bạn phải cung cấp ít nhất một thông số kỹ thuật tổng hợp. Tất cả dữ liệu được chỉ định sẽ được tổng hợp bằng cách sử dụng cùng các tiêu chí nhóm. Sẽ có một tập dữ liệu trong phản hồi cho mọi thông số tổng hợp.
aggregateBy[].dataTypeName string Loại dữ liệu để tổng hợp. Tất cả các nguồn dữ liệu cung cấp loại dữ liệu này đều sẽ đóng góp dữ liệu cho quá trình tổng hợp. Phản hồ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 được dẫn xuất từ::com.google.android.gms:aggregate. Nếu người dùng không có dữ liệu cho loại dữ liệu này, tập dữ liệu trống sẽ được trả về. Lưu ý: Bạn có thể tổng hợp dữ liệu bằng dataTypeName hoặc dataSourceId, chứ không phải 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 được 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; phạm vi OAuth trong thông tin xác thực được cung cấp phải cấp quyền đọc loại dữ liệu này. Tập dữ liệu trong phản hồi sẽ có cùng mã nguồn dữ liệu. Lưu ý: Bạn có thể tổng hợp dữ liệu bằng dataTypeName hoặc dataSourceId, chứ không được cả hai.
filteredDataQualityStandard[] list KHÔNG SỬ DỤNG TRƯỜNG NÀY. 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ừ các thông số kỹ thuật phân nhóm khác.
bucketByTime.durationMillis long Chỉ định rằng kết quả nhóm các dữ liệu tổng hợp theo chính xác thời lượng (MIS) Khung thời gian không chứa dữ liệu sẽ được đưa vào nội dung phản hồi bằng một 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 rằng dữ liệu được tổng hợp theo phiên người dùng. Dữ liệu không thuộc phạm vi thời gian của một phiên sẽ không được đưa vào phản hồi. Loại trừ các thông số kỹ thuật phân nhóm khác.
bucketBySession.minDurationMillis long Chỉ định rằng chỉ các phiên có thời lượng dài hơn minDurationMillis đượ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 sẽ đượ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 phạm vi thời gian nhất định) sẽ được tổng hợp vào cùng một nhóm. Dữ liệu được ghi lại trong khi người dùng không hoạt động sẽ không được đưa vào phản hồi. Loại trừ các thông số kỹ thuật phân nhóm 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 đượ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 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 Xác định rằng dữ liệu được tổng hợp cho mỗi phân đoạn hoạt động được ghi lại cho một người dùng. Tương tự như podByActivitySegment, nhưng việc 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ừ các thông số kỹ thuật phân nhóm 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 đượ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 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 với cấu trúc 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ị Nội dung mô tả Lưu ý
bucket[] list Danh sách các nhóm chứa dữ liệu tổng hợp.
bucket[].type string Loại nhóm cho biết cách tổng hợp dữ liệu được thực hiện trong nhóm.

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.
bucket[].endTimeMillis long Thời gian kết thúc của 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.
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ó cho sạch.Type.SESSION
bucket[].session.id string Mã nhận dạng do khách hàng tạo sẽ là duy nhất trong tất cả các phiên hoạt động thuộc sở hữu của người dùng cụ thể này.
bucket[].session.name string Tên có thể đọc được của phiên.
bucket[].session.description string Mô tả về 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.
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.
bucket[].session.modifiedTimeMillis long Dấu thời gian cho biết thời điểm sửa đổi gần nhất của phiên.
bucket[].session.application nested object Ứng dụng đã tạo ra phiên hoạt động.
bucket[].session.application.packageName string Tên gói cho ứng dụng này. Giá trị này được dùng làm giá trị nhận dạng duy nhất khi tạo bởi các ứng dụng Android, nhưng không thể được chỉ định bởi các ứng dụng REST. Khách hàng REST sẽ có số dự án dành cho nhà phát triển của họ được phản ánh thành 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 cách ả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 ngược trở lại ứng dụng.
bucket[].session.application.name string Tên của ứng dụng này. Đây là yêu cầu bắt buộc đối với ứ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. Điều 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 mà phiên này đại diện.
bucket[].session.activeTimeMillis long Thời gian hoạt động của phiên. Mặc dù start_time_mili giây và end_time_mili giây xác định toàn bộ thời gian của phiên, nhưng thời gian hoạt động có thể ngắn hơn và được chỉ định bằng Active_time_mili giây. Nếu xác định được thời gian không hoạt động trong phiên, thì bạn cũng nên chèn thời gian không hoạt động đó qua một điểm dữ liệu com.google.activity.Segment có giá trị hoạt động STILL của

bucket[].activity integer Hiện có cho sạch.Type.ACTIVITY_TYPE, Xô.Type.ACTIVITY_ PHCH

Hãy dùng thử!

Sử dụng APIs Explorer 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.