Users.dataSources

Định nghĩa một nguồn dữ liệu cảm biến riêng biệt. Các nguồn dữ liệu có thể hiển thị dữ liệu thô từ các cảm biến phần cứng trên các thiết bị cục bộ hoặc thiết bị đồng hành. Các nguồn dữ liệu này cũng có thể hiển thị dữ liệu phát sinh, được tạo bằng cách biến đổi hoặc hợp nhất các nguồn dữ liệu khác. Có thể tồn tại nhiều nguồn dữ liệu cho cùng một loại dữ liệu. Mỗi điểm dữ liệu được chèn vào hoặc đọc từ dịch vụ này đều có một nguồn dữ liệu liên kết.

Nguồn dữ liệu có đủ thông tin để nhận dạng duy nhất dữ liệu của mình, bao gồm cả thiết bị phần cứng và ứng dụng đã thu thập và/hoặc biến đổi dữ liệu. Lớp này cũng chứa siêu dữ liệu hữu ích, chẳng hạn như các phiên bản phần cứng và ứng dụng, cũng như loại thiết bị.

Mỗi nguồn dữ liệu tạo ra một luồng dữ liệu riêng biệt, kèm theo một giá trị nhận dạng duy nhất. Không phải mọi thay đổi đối với nguồn dữ liệu đều ảnh hưởng đến giá trị nhận dạng luồng. Vì vậy, dữ liệu được thu thập qua các phiên bản cập nhật của cùng một ứng dụng/thiết bị vẫn có thể được coi là thuộc về cùng một luồng dữ liệu.

Để biết danh sách các phương thức cho tài nguyên này, hãy xem ở cuối trang.

Biểu diễn tài nguyên

{
  "dataStreamId": string,
  "name": string,
  "dataStreamName": string,
  "type": string,
  "dataType": {
    "name": string,
    "field": [
      {
        "name": string,
        "format": string,
        "optional": boolean
      }
    ]
  },
  "device": {
    "uid": string,
    "type": string,
    "version": string,
    "model": string,
    "manufacturer": string
  },
  "application": {
    "packageName": string,
    "version": string,
    "detailsUrl": string,
    "name": string
  },
  "dataQualityStandard": [
    string
  ]
}
Tên tài sản Giá trị Mô tả Ghi chú
application nested object Thông tin về một ứng dụng cung cấp dữ liệu cảm biến cho nền tảng.
application.detailsUrl string URI tuỳ chọn có thể dùng để liên kết lại ứng dụng.
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.
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.
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.
dataQualityStandard[] list ĐỪNG PHỔ BIẾN TRƯỜNG NÀY. Hệ thống sẽ không bao giờ điền dữ liệu này vào phản hồi từ nền tảng và sẽ bị bỏ qua trong các truy vấn. Chúng tôi sẽ xoá hoàn toàn nội dung này trong các phiên bản sau này.
dataStreamId string Giá trị nhận dạng duy nhất cho luồng dữ liệu do nguồn dữ liệu này tạo ra. Giá trị nhận dạng này bao gồm:

  • Nhà sản xuất, kiểu máy và số sê-ri (UID) của thiết bị thực.
  • Tên hoặc tên gói của ứng dụng. Tên gói được dùng khi một ứng dụng Android tạo nguồn dữ liệu. Số dự án của nhà phát triển được dùng khi ứng dụng REST tạo nguồn dữ liệu.
  • Loại nguồn dữ liệu.
  • Tên luồng của nguồn dữ liệu.
Xin lưu ý rằng không phải tất cả thuộc tính của nguồn dữ liệu đều được dùng làm giá trị nhận dạng luồng. Đặc biệt, phiên bản phần cứng/ứng dụng không được sử dụng. Điều này cho phép chúng tôi giữ nguyên một luồng thông qua việc cập nhật phiên bản. Điều này cũng có nghĩa là 2 đối tượng DataSource có thể đại diện cho cùng một luồng dữ liệu ngay cả khi chúng không bằng nhau.

Định dạng chính xác của mã luồng dữ liệu do ứng dụng Android tạo ra là: type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName

Định dạng chính xác của mã luồng dữ liệu do ứng dụng REST tạo là: type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName

Nếu không có bất kỳ trường không bắt buộc nào tạo nên mã luồng dữ liệu, các trường đó sẽ bị loại bỏ khỏi mã luồng dữ liệu. Mã luồng dữ liệu khả thi tối thiểu sẽ là: type:dataType.name:số dự án nhà phát triển

Cuối cùng, số dự án nhà phát triển và UID thiết bị bị làm rối mã nguồn khi đọc bởi bất kỳ ứng dụng REST hoặc Android nào không tạo ra nguồn dữ liệu. Chỉ người tạo nguồn dữ liệu mới nhìn thấy số dự án của nhà phát triển ở dạng rõ ràng và bình thường. Điều này có nghĩa là khách hàng sẽ thấy tập hợp data_stream_ids khác với một khách hàng khác có thông tin đăng nhập khác.

dataStreamName string Tên luồng xác định duy nhất nguồn dữ liệu cụ thể này trong số các nguồn dữ liệu khác cùng loại từ cùng một thực thể sản xuất cơ bản. Bạn không bắt buộc phải đặt tên luồng, nhưng nên thực hiện bất cứ khi nào ứng dụng hiển thị hai luồng cho cùng một loại dữ liệu, hoặc khi một thiết bị có hai cảm biến tương đương.
dataType nested object Loại dữ liệu xác định giản đồ cho luồng dữ liệu được thu thập, chèn vào hoặc truy vấn từ Fitness API.
dataType.field[] list Trường đại diện cho một phương diện của loại dữ liệu.
dataType.field[].format string Các định dạng được hỗ trợ khác nhau cho mỗi trường trong một loại dữ liệu.

Các giá trị được chấp nhận là:
  • "blob"
  • "floatList"
  • "floatPoint"
  • "integer"
  • "integerList"
  • "map"
  • "string"
dataType.field[].name string Xác định tên và định dạng của dữ liệu. Không giống như tên loại dữ liệu, tên trường không có vùng chứa tên và chỉ cần là duy nhất trong loại dữ liệu.
dataType.field[].optional boolean
dataType.name string Mỗi loại dữ liệu có một tên riêng biệt có không gian tên. Tất cả các loại dữ liệu trong không gian tên com.google đều được chia sẻ như một phần của nền tảng.
device nested object Hình ảnh minh hoạ một thiết bị tích hợp (chẳng hạn như điện thoại hoặc thiết bị đeo) có thể chứa cảm biến.
device.manufacturer string Nhà sản xuất sản phẩm/phần cứng.
device.model string Tên mẫu thiết bị hiển thị cho người dùng cuối.
device.type string Một hằng số đại diện cho loại thiết bị.

Các giá trị được chấp nhận là:
  • "chestStrap"
  • "headMounted"
  • "phone"
  • "scale"
  • "smartDisplay"
  • "tablet"
  • "unknown"
  • "watch"
device.uid string Số sê-ri hoặc mã nhận dạng duy nhất khác của phần cứng. Trường này bị làm rối mã nguồn khi được đọc bởi bất kỳ ứng dụng REST hoặc Android nào không tạo ra nguồn dữ liệu. Chỉ người tạo nguồn dữ liệu mới nhìn thấy trường uid ở dạng rõ ràng và bình thường.

Quy trình làm rối mã nguồn duy trì sự bình đẳng; tức là với hai mã nhận dạng, nếu id1 == id2, làm rối mã nguồn(id1) == làm rối mã nguồn(id2).

device.version string Chuỗi phiên bản cho phần cứng/phần mềm của thiết bị.
name string Tên hiển thị của người dùng cuối cho nguồn dữ liệu này.
type string Hằng số mô tả loại nguồn dữ liệu này. Cho biết nguồn dữ liệu này tạo ra dữ liệu thô hay dữ liệu phái sinh.

Các giá trị được chấp nhận là:
  • "derived"
  • "raw"

Phương thức

tạo
Tạo một nguồn dữ liệu mới riêng biệt trên tất cả các nguồn dữ liệu thuộc về cho người dùng này.

Nguồn dữ liệu là nguồn dữ liệu cảm biến duy nhất. Nguồn dữ liệu có thể cho thấy dữ liệu thô đến từ các cảm biến phần cứng trên thiết bị cục bộ hoặc thiết bị đồng hành. Chúng cũng có thể hiển thị dữ liệu phát sinh, được tạo bằng cách chuyển đổi hoặc hợp nhất dữ liệu khác nguồn. Có thể tồn tại nhiều nguồn dữ liệu cho cùng một loại dữ liệu. Mọi dữ liệu điểm trong mỗi tập dữ liệu được chèn vào hoặc đọc từ Fitness API có mã nguồn dữ liệu được liên kết.

Mỗi nguồn dữ liệu tạo ra một luồng cập nhật tập dữ liệu riêng biệt, trong đó giá trị nhận dạng nguồn dữ liệu duy nhất. Không phải tất cả các thay đổi đối với nguồn dữ liệu đều ảnh hưởng đến để thu thập dữ liệu qua các phiên bản cập nhật của cùng một ứng dụng/thiết bị vẫn có thể được coi là thuộc về cùng một dữ liệu nguồn.

Nguồn dữ liệu được xác định bằng cách sử dụng một chuỗi do máy chủ tạo, dựa trên vào nội dung của nguồn đang được tạo. dataStreamId không được đặt khi gọi phương thức này. Nó sẽ được máy chủ tạo tự động theo đúng định dạng. Nếu dataStreamId, nó phải khớp với định dạng mà máy chủ sẽ tạo. Định dạng này là sự kết hợp của một số trường trong nguồn dữ liệu và có thứ tự cụ thể. Nếu không khớp, yêu cầu sẽ không thành công do có lỗi.

Chỉ định DataType không phải là loại đã biết (bắt đầu bằng "com.google.") sẽ tạo một DataSource có loại dữ liệu tùy chỉnh. Chỉ ứng dụng đã tạo ra các loại dữ liệu tuỳ chỉnh đó mới có thể đọc được. Các loại dữ liệu tuỳ chỉnh không dùng nữa; sử dụng kiểu dữ liệu chuẩn thay thế.

Ngoài các trường nguồn dữ liệu có trong mã nguồn dữ liệu, mã số dự án của nhà phát triển được xác thực khi tạo dữ liệu nguồn được bao gồm. Số dự án của nhà phát triển này bị làm rối mã nguồn khi đọc bởi bất kỳ nhà phát triển nào khác đọc các loại dữ liệu công khai.
xóa
Xoá nguồn dữ liệu đã chỉ định. Yêu cầu sẽ không thành công nếu dữ liệu nguồn chứa bất kỳ điểm dữ liệu nào.
nhận
Trả về nguồn dữ liệu đã chỉ định.
list
Liệt kê tất cả nguồn dữ liệu mà nhà phát triển có thể nhìn thấy bằng cách sử dụng OAuth phạm vi được cung cấp. Đây chưa phải là danh sách đầy đủ; người dùng có thể có nguồn dữ liệu mà chỉ các nhà phát triển khác mới nhìn thấy hoặc các lệnh gọi sử dụng các phạm vi khác.
cập nhật
Cập nhật nguồn dữ liệu được chỉ định. dataStreamId, dataType, type, dataStreamNamedevice ngoại trừ version, Không thể sửa đổi.

Nguồn dữ liệu được xác định bằng dataStreamId.