Users.dataSources

Định nghĩa nguồn dữ liệu cảm biến duy nhất. Các nguồn dữ liệu có thể tiết lộ dữ liệu thô 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 bắt nguồn, được tạo ra 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 đọc từ dịch vụ này đều có một nguồn dữ liệu được liên kết.

Nguồn dữ liệu chứa đủ thông tin để nhận dạng duy nhất dữ liệu này, 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. Bản này cũng chứa siêu dữ liệu hữu ích, chẳng hạn như phiên bản phần cứng và phiên bản ứng dụng, cũng như loại thiết bị.

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

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

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ị Nội dung mô tả Lưu ý
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 này.
application.detailsUrl string URI tuỳ chọn có thể dùng để liên kết ngược trở lại ứng dụng.
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.
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.
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.
dataQualityStandard[] list KHÔNG SỬ DỤNG TRƯỜNG NÀY. Nó không bao giờ được điền trong các phản hồi từ nền tảng và sẽ bị bỏ qua trong các truy vấn. Phiên bản này sẽ bị xoá hoàn toàn trong một phiên bản sắp tới.
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 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 nguồn dữ liệu được tạo bằng một ứng dụng Android. Số dự án của nhà phát triển được sử dụng khi nguồn dữ liệu được ứng dụng REST tạo.
  • 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ả các thuộc tính của nguồn dữ liệu đều được dùng trong giá trị nhận dạng luồng. Cụ thể, phiên bản phần cứng/ứng dụng không được sử dụng. Việc này cho phép chúng tôi duy trì cùng một luồng thông qua các bản cập nhật phiên bản. Điều này cũng có nghĩa là hai đối tượng DataSource có thể đại diện cho cùng một luồng dữ liệu ngay cả khi các đối tượ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: type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName Mã luồng dữ liệu khả thi tối thiểu sẽ là: type:dataType.name:developer mã số dự án

Cuối cùng, số dự án nhà phát triển và UID thiết bị bị xáo trộn khi đọc bằng ứng dụng REST hoặc ứng dụng Android không tạo nguồn dữ liệu. Chỉ người tạo nguồn dữ liệu mới có thể nhìn thấy số dự án dành cho nhà phát triển ở dạng rõ ràng và bình thường. Điều này có nghĩa là một ứng dụng sẽ thấy một tập hợp data_stream_ids khác với một ứng dụ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 nhà sản xuất cơ bản. Bạn không bắt buộc phải đặt tên luồng. Tuy nhiên, bạn nên đặt tên này mỗi khi ứng dụng hiển thị hai luồng cho cùng một loại dữ liệu hoặc khi 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 đang được thu thập, được chèn vào hoặc được truy vấn từ API Thể dục.
dataType.field[] list Trường thể hiện một phương diện của một loại dữ liệu.
dataType.field[].format string Các định dạng được hỗ trợ cho từng 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 dữ liệu. Không giống như tên loại dữ liệu, tên trường không nằm trong 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 duy nhất, không gian tên. Tất cả loại dữ liệu trong vùng chứa tên com.google đều được chia sẻ trong nền tảng.
device nested object Hình ảnh mô tả 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ác 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ị xáo trộ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 sẽ thấy trường uid ở dạng rõ ràng và bình thường.

Tính năng làm rối mã nguồn sẽ giúp đảm bảo sự bình đẳng; tức là hai mã nhận dạng nếu mã 1 == mã nhận dạng 2, bị làm rối(id1) == bị làm rối(id2).

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

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

Phương pháp

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

Nguồn dữ liệu là nguồn dữ liệu cảm biến duy nhất. Các nguồn dữ liệu có thể tiết lộ dữ liệu thô đến từ cảm biến phần cứng trên các thiết bị cục bộ hoặc đồ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 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 trong mọi tập dữ liệu được chèn vào hoặc đọc từ API Thể dục đều có nguồn dữ liệu được liên kết.

Mỗi nguồn dữ liệu sẽ tạo ra một luồng cập nhật tập dữ liệu duy nhất, với giá trị nhận dạng riêng biệt của nguồn dữ liệu. Không phải tất cả thay đổi đối với nguồn dữ liệu đều ảnh hưởng đến mã luồng dữ liệu, do đó, dữ liệu được thu thập bởi 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 nguồn dữ liệu.

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 nội dung của nguồn đang được tạo. Không được đặt trường dataStreamId khi gọi phương thức này. Thông tin này sẽ được máy chủ tạo tự động ở định dạng chính xác. Nếu bạn đặt dataStreamId, thì dataStreamId 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 từ 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 kèm theo 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 với loại dữ liệu tuỳ chỉnh. Chỉ ứng dụng tạo ra loại dữ liệu đó mới có thể đọc được các loại dữ liệu tùy chỉnh. Các loại dữ liệu tuỳ chỉnh sẽ không được dùng nữa; hãy sử dụng các loại dữ liệu chuẩn.

Ngoài các trường nguồn dữ liệu có trong mã nhận dạng nguồn dữ liệu, số dự án dành cho nhà phát triển sẽ được xác thực khi tạo nguồn dữ liệu. Số dự án dành cho nhà phát triển này bị xáo trộn khi được đọc bằng bất kỳ loại dữ liệu công khai nào khác của nhà phát triển.
xóa
Xoá nguồn dữ liệu đã chỉ định. Yêu cầu sẽ không thành công nếu nguồn dữ liệu chứa bất kỳ điểm dữ liệu nào.
tải
Trả về nguồn dữ liệu được 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 các phạm vi OAuth đã cung cấp. Danh sách này chưa đầy đủ; người dùng có thể có các nguồn dữ liệu riêng tư chỉ hiển thị với các nhà phát triển khác hoặc cuộc gọi sử dụng phạm vi khác.
cập nhật
Cập nhật nguồn dữ liệu đã chỉ định. Bạn không thể sửa đổi các thuộc tính dataStreamId, dataType, type, dataStreamNamedevice, ngoại trừ version.

dataStreamId xác định nguồn dữ liệu.