سيتم إيقاف واجهات برمجة تطبيقات Google Fit نهائيًا في عام 2026، بما في ذلك واجهة برمجة التطبيقات Google Fit REST API. اعتبارًا من 1 أيار (مايو) 2024، لن يتمكّن المطوّرون من الاشتراك لاستخدام واجهات برمجة التطبيقات هذه.
للحصول على تعليمات حول واجهة برمجة التطبيقات أو المنصة التي تريد نقل البيانات إليها، يُرجى الانتقال إلى دليل نقل البيانات في Health Connect. للاطّلاع على مقارنة بين Health Connect وGoogle Fit API وFitbit Web API، يُرجى الانتقال إلى دليل مقارنة Health Connect.
مزيد من المعلومات حول Health Connect وكيفية الدمج مع واجهة برمجة التطبيقات
إدارة مصادر البيانات
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تتيح لك واجهة برمجة التطبيقات Fitness REST إنشاء مصادر البيانات والحصول عليها وتعديلها. يمثل مصدر البيانات
مصدرًا فريدًا لبيانات جهاز الاستشعار. تستخدم مصادر البيانات لإدراج بيانات اللياقة البدنية في اللياقة البدنية
ويمكنك استرداد بيانات اللياقة البدنية المدرجة من خلال مصدر بيانات معين.
يتم تمثيل مصادر البيانات من خلال 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"
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-08-31 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-31 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\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 ```"]]