การจัดการแหล่งข้อมูล
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
Fitness REST API ช่วยให้คุณสร้าง รับ และอัปเดตแหล่งข้อมูลได้ แหล่งข้อมูลแสดงถึง
ซึ่งเป็นแหล่งข้อมูลเฉพาะของเซ็นเซอร์ คุณใช้แหล่งข้อมูลเพื่อแทรกข้อมูลการออกกำลังกายในฟิตเนส
ของคุณ และคุณสามารถเรียกข้อมูลการออกกำลังกายที่แทรกโดยแหล่งข้อมูลหนึ่งๆ ได้
แหล่งข้อมูลจะแสดงด้วยUsers.dataSources
ทรัพยากร
สร้างแหล่งข้อมูล
ตัวอย่างนี้แสดงวิธีสร้างแหล่งข้อมูลใหม่ชื่อ "MyDataSource"
ที่แสดงการเพิ่มขึ้นของจำนวนก้าว
- เมธอด HTTP
- โพสต์
- URL คำขอ
https://www.googleapis.com/fitness/v1/users/me/dataSources
- เนื้อหาของคำขอ
{
"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"
}
}
- คำตอบ
หากสร้างแหล่งข้อมูลสำเร็จ การตอบกลับจะเป็นสถานะ 200 OK
โค้ด เนื้อหาการตอบกลับมีการนำเสนอ JSON ของแหล่งข้อมูล
มี datasource.dataStreamId
พร็อพเพอร์ตี้ที่ใช้เป็นรหัสแหล่งข้อมูลสำหรับคำขอต่อๆ ไปได้
- คำสั่ง 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"
รับแหล่งข้อมูลเฉพาะ
ตัวอย่างนี้แสดงวิธีเรียกข้อมูลแหล่งข้อมูล ("MyDataSource")
ที่คุณสร้างไว้ในตัวอย่างก่อนหน้านี้ เมื่อสร้างแหล่งข้อมูลใหม่
dataStreamId
มีตัวระบุที่ไม่ซ้ำกัน (แสดงเป็น "1234567890" ใน
ตัวอย่าง) นี่คือหมายเลขโปรเจ็กต์นักพัฒนาซอฟต์แวร์ของคุณ และจะเป็นหมายเลขเดียวกันสำหรับ
คำขอทั้งหมดที่ทำโดยใช้บัญชีนักพัฒนาแอปนั้นๆ อย่าลืมใช้
dataStreamId
จากแหล่งข้อมูลที่คุณสร้าง
- เมธอด HTTP
- รับ
- URL คำขอ
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
- เนื้อหาของคำขอ
- ไม่มี
- คำตอบ
- หากมีแหล่งข้อมูลอยู่ การตอบกลับจะเป็นรหัสสถานะ
200 OK
เนื้อหาการตอบกลับประกอบด้วย
การนำเสนอ JSON ของแหล่งข้อมูล
- คำสั่ง 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"
รับข้อมูลรวม
ตัวอย่างนี้แสดงวิธีการค้นหาแหล่งข้อมูลที่เฉพาะเจาะจงสำหรับข้อมูลที่รวบรวม
ในกรณีนี้คือ estimated_steps
ซึ่งเป็นแหล่งข้อมูลที่ใช้แสดง
จำนวนก้าวในแอป Google Fit โปรดทราบว่าการประทับเวลาในคำขอ JSON
ของร่างกายในหน่วยมิลลิวินาที
- เมธอด HTTP
- โพสต์
- URL คำขอ
https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate
- เนื้อหาของคำขอ
{
"aggregateBy": [{
"dataSourceId":
"derived:com.google.step_count.delta:com.google.android.gms:estimated_steps"
}],
"bucketByTime": { "durationMillis": 86400000 },
"startTimeMillis": 1454284800000,
"endTimeMillis": 1455062400000
}
- คำตอบ
หากมีแหล่งข้อมูลอยู่ การตอบกลับจะเป็นรหัสสถานะ 200 OK
เนื้อหาการตอบกลับมีการนำเสนอ JSON ของแหล่งข้อมูล
- คำสั่ง 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"
อัปเดตแหล่งข้อมูล
ตัวอย่างนี้แสดงวิธีอัปเดตชื่อและเวอร์ชันอุปกรณ์ของข้อมูล
แหล่งที่มา
- เมธอด HTTP
- วาง
- URL คำขอ
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
- เนื้อหาของคำขอ
{
"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"
}
}
- คำตอบ
หากอัปเดตแหล่งข้อมูลสำเร็จ การตอบสนองจะเป็นสถานะ 200 OK
โค้ด เนื้อหาการตอบกลับมีการแทน JSON ของแหล่งข้อมูล
- คำสั่ง 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"
ลบแหล่งข้อมูล
ตัวอย่างนี้แสดงวิธีลบแหล่งข้อมูล
- เมธอด HTTP
- ลบ
- URL คำขอ
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
- เนื้อหาของคำขอ
- ไม่มี
- คำตอบ
- หากลบแหล่งข้อมูลเรียบร้อยแล้ว การตอบกลับจะเป็นสถานะ
200 OK
โค้ด เนื้อหาการตอบกลับมีการนำเสนอ JSON ของแหล่งข้อมูลที่
ก็ถูกลบ
- คำสั่ง 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"
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-08-31 UTC
[null,null,["อัปเดตล่าสุด 2025-08-31 UTC"],[[["\u003cp\u003eThe Fitness REST API allows you to manage data sources, which represent unique sources of sensor data for inserting and retrieving fitness data within the Fitness Store.\u003c/p\u003e\n"],["\u003cp\u003eYou can create, retrieve, update, and delete data sources using the API with specific HTTP methods and request URLs.\u003c/p\u003e\n"],["\u003cp\u003eData sources can be identified using a unique \u003ccode\u003edataStreamId\u003c/code\u003e, including your developer project number, for subsequent interactions.\u003c/p\u003e\n"],["\u003cp\u003eThe API supports aggregating data from specific data sources within defined time ranges, like retrieving daily step counts.\u003c/p\u003e\n"],["\u003cp\u003eData source management should follow responsible data handling practices as outlined in the Google Fit guidelines for user privacy and security.\u003c/p\u003e\n"]]],[],null,["# Managing Data Sources\n\nThe Fitness REST API lets you create, obtain, and update data sources. A data source represents\na unique source of sensor data. You use data sources to insert fitness data into the fitness\nstore, and you can retrieve fitness data inserted by a particular data source.\n\nData sources are represented by the [`Users.dataSources`](/fit/rest/v1/reference/users/dataSources)\nresource.\n| **Important:** For best practices when managing user data, see [Responsible use of Google Fit](/fit/overview#responsible_use_of_google_fit).\n\nCreate a data source\n--------------------\n\nThis example demonstrates how to create a new data source named \"MyDataSource\"\nthat provides step count increments.\n\nHTTP method\n: POST\n\nRequest URL\n: `https://www.googleapis.com/fitness/v1/users/me/dataSources`\n\nRequest body\n:\n\n {\n \"dataStreamName\": \"MyDataSource\",\n \"type\": \"derived\",\n \"application\": {\n \"detailsUrl\": \"http://example.com\",\n \"name\": \"Foo Example App\",\n \"version\": \"1\"\n },\n \"dataType\": {\n \"field\": [\n {\n \"name\": \"steps\",\n \"format\": \"integer\"\n }\n ],\n \"name\": \"com.google.step_count.delta\"\n },\n \"device\": {\n \"manufacturer\": \"Example Manufacturer\",\n \"model\": \"ExampleTablet\",\n \"type\": \"tablet\",\n \"uid\": \"1000001\",\n \"version\": \"1.0\"\n }\n }\n\nResponse\n\n: If the data source is created successfully, the response is a `200 OK` status\n code. The response body contains a JSON representation of the data source,\n including a [`datasource.dataStreamId`](/fit/rest/v1/reference/users/dataSources#dataStreamId)\n property that you can use as the data source ID for subsequent requests.\n\nCurl command\n:\n\n ```\n $ curl --header \"Authorization: Bearer ya29.yourtokenvalue\" -X POST \\\n --header \"Content-Type: application/json;encoding=utf-8\" -d @createds.json \\\n \"https://www.googleapis.com/fitness/v1/users/me/dataSources\"\n ```\n\nGet a particular data source\n----------------------------\n\nThis example demonstrates how to retrieve the data source (\"MyDataSource\")\nthat you created in the previous example. When you create a new data source,\nthe `dataStreamId` includes a unique identifier (shown as \"1234567890\" in these\nexamples). This is your developer project number, and it will be the same for\nall requests made using that particular developer account. Be sure to use the\n`dataStreamId` from the data source you created.\n\nHTTP method\n: GET\n\nRequest URL\n: `https://www.googleapis.com/fitness/v1/users/me/dataSources/`**derived:com.google.step_count.delta:\u003cvar class=\"apiparam\" translate=\"no\"\u003e1234567890\u003c/var\u003e:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource**\n\nRequest body\n: None\n\nResponse\n: If the data source exists, the response is a `200 OK` status code. The response body contains a\n JSON representation of the data source.\n\nCurl command\n:\n\n ```\n $ curl --header \"Authorization: Bearer ya29.yourtokenvalue\" -X GET \n\n --header \"Content-Type: application/json;encoding=utf-8\" \n\n \"https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource\"\n ```\n\nGet aggregated data\n-------------------\n\nThis example demonstrates how to query a specific data source for aggregated\ndata, in this case `estimated_steps`, which is the data source used to show\nstep count in the Google Fit app. Note that timestamps in the JSON request\nbody are in milliseconds.\n\nHTTP method\n: POST\n\nRequest URL\n: `https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate`\n\nRequest body\n:\n\n {\n \"aggregateBy\": [{\n \"dataSourceId\":\n \"derived:com.google.step_count.delta:com.google.android.gms:estimated_steps\"\n }],\n \"bucketByTime\": { \"durationMillis\": 86400000 },\n \"startTimeMillis\": 1454284800000,\n \"endTimeMillis\": 1455062400000\n }\n\nResponse\n\n: If the data source(s) exist, the response is a `200 OK` status code. The\n response body contains a JSON representation of the data source.\n\nCurl command\n:\n\n ```\n $ curl --header \"Authorization: Bearer ya29.yourtokenvalue\" -X POST \\\n --header \"Content-Type: application/json;encoding=utf-8\" -d @aggregate.json \\\n \"https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate\"\n ```\n\nUpdate a data source\n--------------------\n\nThis example demonstrates how to update the name and device version for a data\nsource.\n\nHTTP method\n: PUT\n\nRequest URL\n: `https://www.googleapis.com/fitness/v1/users/me/dataSources/`**derived:com.google.step_count.delta:\u003cvar class=\"apiparam\" translate=\"no\"\u003e1234567890\u003c/var\u003e:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource**\n\nRequest body\n:\n\n {\n \"dataStreamId\": \"derived:com.google.step_count.delta:1234567890:Example Manufacturer:ExampleTablet:1000001:MyDataSource\",\n \"dataStreamName\": \"MyDataSource\",\n \"type\": \"derived\",\n \"application\": {\n \"detailsUrl\": \"http://example.com\",\n \"name\": \"Foo Example App\",\n \"version\": \"1\"\n },\n \"dataType\": {\n \"field\": [\n {\n \"name\": \"steps\",\n \"format\": \"integer\"\n }\n ],\n \"name\": \"com.google.step_count.delta\"\n },\n \"device\": {\n \"manufacturer\": \"Example Manufacturer\",\n \"model\": \"ExampleTablet\",\n \"type\": \"tablet\",\n \"uid\": \"1000001\",\n \"version\": \"2.0\"\n }\n }\n\nResponse\n\n: If the data source is updated successfully, the response is a `200 OK` status\n code. The response body contains a JSON representation of the data source.\n\nCurl command\n:\n\n ```\n $ curl --header \"Authorization: Bearer ya29.yourtokenvalue\" -X PUT \\\n --header \"Content-Type: application/json;encoding=utf-8\" -d @updateds.json \\\n \"https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource\"\n ```\n\nDelete a data source\n--------------------\n\nThis example demonstrates how to delete a data source.\n\nHTTP method\n: DELETE\n\nRequest URL\n: `https://www.googleapis.com/fitness/v1/users/me/dataSources/`**derived:com.google.step_count.delta:\u003cvar class=\"apiparam\" translate=\"no\"\u003e1234567890\u003c/var\u003e:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource**\n\nRequest body\n: None\n\nResponse\n: If the data source is deleted successfully, the response is a `200 OK` status\n code. The response body contains a JSON representation of the data source that\n was deleted.\n\nCurl command\n:\n\n ```\n $ curl --header \"Authorization: Bearer ya29.yourtokenvalue\" -X DELETE \\\n --header \"Content-Type: application/json;encoding=utf-8\" \\\n \"https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource\"\n ```"]]