Quản lý nguồn dữ liệu

Với Fitness REST API, bạn có thể tạo, thu thập và cập nhật nguồn dữ liệu. Một nguồn dữ liệu đại diện cho một nguồn dữ liệu cảm biến duy nhất. Bạn sẽ sử dụng nguồn dữ liệu để chèn dữ liệu về hoạt động thể dục vào kho lưu trữ dữ liệu thể dục, đồng thời có thể truy xuất dữ liệu về hoạt động thể dục do một nguồn dữ liệu cụ thể chèn vào.

Các nguồn dữ liệu được biểu thị bằng tài nguyên Users.dataSources.

Tạo một nguồn dữ liệu

Ví dụ này minh hoạ cách tạo một nguồn dữ liệu mới có tên là "MyDataSource" cung cấp các khoản gia tăng về số bước.

Phương thức HTTP
POST
URL yêu cầu
https://www.googleapis.com/fitness/v1/users/me/dataSources
Nội dung yêu cầu
{
  "dataStreamName": "MyDataSource",
  "type": "derived",
  "application": {
    "detailsUrl": "http://example.com",
    "name": "Foo Example App",
    "version": "1"
  },
  "dataType": {
    "field": [
      {
        "name": "steps",
        "format": "integer"
      }
    ],
    "name": "com.google.step_count.delta"
  },
  "device": {
    "manufacturer": "Example Manufacturer",
    "model": "ExampleTablet",
    "type": "tablet",
    "uid": "1000001",
    "version": "1.0"
  }
}

Phản hồi

Nếu nguồn dữ liệu được tạo thành công, phản hồi sẽ là mã trạng thái 200 OK. Nội dung phản hồi chứa bản trình bày JSON của nguồn dữ liệu, bao gồm cả thuộc tính datasource.dataStreamId mà bạn có thể dùng làm mã nhận dạng nguồn dữ liệu cho các yêu cầu tiếp theo.

Lệnh Curl
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" -X POST \
--header "Content-Type: application/json;encoding=utf-8" -d @createds.json \
"https://www.googleapis.com/fitness/v1/users/me/dataSources"

Tải một nguồn dữ liệu cụ thể

Ví dụ này minh hoạ cách truy xuất nguồn dữ liệu ("MyDataSource") mà bạn đã tạo trong ví dụ trước. Khi bạn tạo một nguồn dữ liệu mới, dataStreamId sẽ bao gồm một giá trị nhận dạng duy nhất (trong các ví dụ này là "1234567890"). Đây là mã số dự án dành cho nhà phát triển của bạn và sẽ giống nhau cho tất cả các yêu cầu được đưa ra qua tài khoản nhà phát triển cụ thể đó. Hãy nhớ sử dụng dataStreamId từ nguồn dữ liệu mà bạn đã tạo.

Phương thức HTTP
GET
URL yêu cầu
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
Nội dung yêu cầu
Không có
Phản hồi
Nếu nguồn dữ liệu tồn tại, phản hồi sẽ là mã trạng thái 200 OK. Nội dung phản hồi chứa một đại diện JSON của nguồn dữ liệu.
Lệnh Curl
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" -X GET 
--header "Content-Type: application/json;encoding=utf-8"
"https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource"

Nhận dữ liệu tổng hợp

Ví dụ này minh hoạ cách truy vấn một nguồn dữ liệu cụ thể cho dữ liệu tổng hợp, trong trường hợp này là estimated_steps. Đây là nguồn dữ liệu dùng để hiển thị số bước trong ứng dụng Google Fit. Hãy lưu ý rằng dấu thời gian trong nội dung yêu cầu JSON được tính bằng mili giây.

Phương thức HTTP
POST
URL yêu cầu
https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate
Nội dung yêu cầu
{
  "aggregateBy": [{
    "dataSourceId":
      "derived:com.google.step_count.delta:com.google.android.gms:estimated_steps"
  }],
  "bucketByTime": { "durationMillis": 86400000 },
  "startTimeMillis": 1454284800000,
  "endTimeMillis": 1455062400000
}

Phản hồi

Nếu(các) nguồn dữ liệu tồn tại, phản hồi sẽ là mã trạng thái 200 OK. Phần nội dung phản hồi chứa bản trình bày JSON của nguồn dữ liệu.

Lệnh Curl
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" -X POST \
--header "Content-Type: application/json;encoding=utf-8" -d @aggregate.json \
"https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate"

Cập nhật một nguồn dữ liệu

Ví dụ này minh hoạ cách cập nhật tên và phiên bản thiết bị cho một nguồn dữ liệu.

Phương thức HTTP
PUT
URL yêu cầu
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
Nội dung yêu cầu
{
  "dataStreamId": "derived:com.google.step_count.delta:1234567890:Example Manufacturer:ExampleTablet:1000001:MyDataSource",
  "dataStreamName": "MyDataSource",
  "type": "derived",
  "application": {
    "detailsUrl": "http://example.com",
    "name": "Foo Example App",
    "version": "1"
  },
  "dataType": {
    "field": [
      {
        "name": "steps",
        "format": "integer"
      }
    ],
    "name": "com.google.step_count.delta"
  },
  "device": {
    "manufacturer": "Example Manufacturer",
    "model": "ExampleTablet",
    "type": "tablet",
    "uid": "1000001",
    "version": "2.0"
  }
}

Phản hồi

Nếu nguồn dữ liệu được cập nhật thành công, phản hồi sẽ là mã trạng thái 200 OK. Nội dung phản hồi chứa đại diện JSON của nguồn dữ liệu.

Lệnh Curl
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" -X PUT \
--header "Content-Type: application/json;encoding=utf-8" -d @updateds.json \
"https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource"

Xoá nguồn dữ liệu

Ví dụ này minh hoạ cách xoá một nguồn dữ liệu.

Phương thức HTTP
XOÁ
URL yêu cầu
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
Nội dung yêu cầu
Không có
Phản hồi
Nếu nguồn dữ liệu được xoá thành công, phản hồi sẽ là mã trạng thái 200 OK. Nội dung phản hồi chứa bản trình bày JSON của nguồn dữ liệu đã bị xoá.
Lệnh Curl
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" -X DELETE \
--header "Content-Type: application/json;encoding=utf-8" \
"https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource"