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ínhdatasource.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"