توفّر هذه الصفحة روابط تؤدي إلى طرق ملائمة للوصول إلى Google Health API.
مكتبات عملاء Google Health API
تم إنشاء Google Health API استنادًا إلى HTTP وJSON، ما يتيح لأي عميل HTTP عادي إرسال طلبات إلى الواجهة وتحليل استجاباتها.
في المقابل، بدلاً من إنشاء طلبات HTTP وتحليل الردود يدويًا، قد يكون من الأفضل استخدام مكتبات عملاء Google APIs. توفّر مكتبات العملاء نتائج أفضل على مستوى التكامل اللغوي والأمان المحسّن، كما تتيح إمكانية إجراء الطلبات التي تحتاج إلى إذن من المستخدم.
انتقال
يمكنك الحصول على أحدث مكتبة عملاء خاصة بواجهة Google Health API للغة Go. يُرجى مراجعة دليل المطوّر الخاص بـمكتبة العميل.
جافا
تضم هذه الصفحة معلومات حول بدء استخدام Google Health API من خلال مكتبة عملاء Google API للغة Java. لمزيد من المعلومات، يمكنك الاطّلاع على المستندات التالية:
- تصفَّح مرجع JavaDoc حول Google Health API.
- اطَّلِع على دليل المطوّر لمكتبة عملاء Google API للغة Java.
إضافة مكتبة البرامج إلى مشروعك
يمكنك اختيار بيئة الإصدار (Maven أو Gradle) من بين علامات التبويب التالية:
أضِف ما يلي إلى ملف pom.xml:
أضِف ما يلي إلى ملف build.gradle:
JavaScript
راجِع دليل المطوّر الخاص بمكتبة البرامج.
NET.
تضم هذه الصفحة معلومات حول بدء استخدام Google Health API من خلال مكتبة عملاء Google API لنظام .NET لمزيد من المعلومات، يمكنك الاطّلاع على المستندات التالية:
- تصفَّح المستندات المرجعية للغة .NET حول Google Health API.
- اطَّلِع على دليل المطوّر لمكتبة برامج Google API لنظام NET.
تنزيل المكتبة
ثبِّت حزمة NuGet: Google.Apis.
Node.js
يمكنك الحصول على أحدث مكتبة عملاء خاصة بواجهة Google Health API لنظام Node.js. راجِع دليل المطوّر الخاص بمكتبة العملاء.
Obj-C
يمكنك الحصول على أحدث مكتبة عملاء خاصة بواجهة Google Health API للغة Objective-C. راجِع دليل المطوّر الخاص بمكتبة العملاء.
PHP
يمكنك الحصول على أحدث مكتبة عملاء خاصة بواجهة Google Health API للغة PHP. راجِع دليل المطوّر الخاص بمكتبة العملاء.
Python
تضم هذه الصفحة معلومات حول بدء استخدام Google Health API من خلال مكتبة عملاء Google API للغة Python (v1/v2). لمزيد من المعلومات، يمكنك الاطّلاع على المستندات التالية:
- تصفَّح مرجع PyDoc حول Google Health API.
- اطّلِع على دليل المطوّر لمكتبة عملاء Google API للغة Python (v1/v2).
متطلبات النظام
- أنظمة التشغيل:
- Linux
- Mac OS X
- Windows
- تتطلّب مكتبة البرامج v1 توفّر الإصدار 2.7 أو الإصدارات اللاحقة من نظام Python. أما مكتبة البرامج v2، فتتطلّب توفّر الإصدار 3.7 أو الإصدارات اللاحقة.
تثبيت مكتبة البرامج
يمكنك استخدام أداة إدارة الحِزم أو تنزيل مكتبة برامج Python يدويًا وتثبيتها:
التثبيت المُدار
استخدِم pip أو setuptools لإدارة التثبيت. قد تحتاج إلى تشغيل أولاً. قد تحتاج إلى تشغيل sudo أولاً.
- pip (يفضَّل استخدامها):
pip install --upgrade google-api-python-client
- Setuptools:
easy_install --upgrade google-api-python-client
التثبيت اليدوي
- نزِّل مكتبة البرامج الأحدث للغة Python.
- فُكَّ حزمة الرمز.
- ثبِّت المكتبة:
python setup.py install
App Engine
بما أنّ مكتبات برامج Python غير مثبَّتة في بيئة وقت تشغيل Python في App Engine، عليك نسخها إلى تطبيقك كما هي الحال مع مكتبات الجهات الخارجية.
Ruby
تضم هذه الصفحة معلومات حول بدء استخدام Google Health API من خلال مكتبة عملاء Google API للغة Ruby. لمزيد من المعلومات، يمكنك الاطّلاع على المستندات التالية:
- اطَّلِع على دليل البدء لمكتبة برامج Google API للغة Ruby.
تنزيل أداة google-api-client
وفقًا للنظام الذي تستخدمه، قد تحتاج إلى إضافة هذه الأوامر من خلال sudo.
في حال لم يسبق لك تثبيت مكتبة برامج Google API للغة Ruby، ثبِّتها باستخدام RubyGems:
gem install google-api-client
إذا سبق لك تثبيت الأداة، يمكن تحديثها إلى أحدث إصدار:
gem update -y google-api-client
بدء استخدام مكتبة برامج Google API للغة Ruby
gRPC
تتيح Google Health API أيضًا استخدام gRPC لاسترداد البيانات عالية الأداء. بالإضافة إلى تثبيت مكتبات العملاء، يتطلّب استخدام gRPC الحصول على تعريفات "مخازن البروتوكولات المؤقتة" لواجهة برمجة التطبيقات وإنشاء رمز ثانوي من جهة العميل قبل تقديم الطلبات.
- تثبيت مكتبات gRPC:
- استخدِم
pip install grpcio grpcio-tools google-auth-oauthlibلتثبيت التبعيات.
- استخدِم
- إنشاء رمز العميل:
- احصل على تعريفات
.protoالخاصة بواجهة Google Health API (مثلdata_points.proto). - شغِّل
python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. path/to/your/data_points.protoلإنشاء رمز ثانوي.
- احصل على تعريفات
- تنفيذ بروتوكول OAuth 2.0 وتقديم طلبات gRPC:
- استخدِم
google-auth-oauthlibللحصول على التفويض والرمز البديل للعميل الذي تم إنشاؤه لتقديم طلبات gRPC، كما هو موضّح في المثال التالي.
- استخدِم
import google.auth
from google.auth.transport.grpc import secure_authorized_channel
from google.auth.transport.requests import Request
from google.oauth2.credentials import Credentials
from google_auth_oauthlib.flow import InstalledAppFlow
import os
import json
import grpc
# Generated gRPC code from data_points.proto
# These imports depend on the output of grpc_tools
try:
import data_points_pb2
import data_points_pb2_grpc
except ImportError:
print("Please generate gRPC code from data_points.proto")
data_points_pb2 = None
data_points_pb2_grpc = None
# --- REPLACE WITH YOUR VALUES ---
CLIENT_SECRETS_FILE = 'path/to/your/client_secret.json'
SCOPES = ['https://www.googleapis.com/auth/health'] # Add other scopes as needed
TOKEN_FILE = 'token.json'
GRPC_ENDPOINT = 'health.googleapis.com' # Google Health API gRPC endpoint
def get_credentials():
"""Gets or creates OAuth 2.0 credentials."""
creds = None
# The file token.json stores the user's access and refresh tokens, and is
# created automatically when the authorization flow completes for the first
# time.
if os.path.exists(TOKEN_FILE):
with open(TOKEN_FILE, 'r') as token:
creds = Credentials.from_authorized_user_info(json.load(token), SCOPES)
# If there are no (valid) credentials available, let the user log in.
if creds and creds.expired and creds.refresh_token:
try:
creds.refresh(Request())
except Exception as e:
creds = None # Force re-auth if refresh fails
if not creds or not creds.valid:
flow = InstalledAppFlow.from_client_secrets_file(
CLIENT_SECRETS_FILE, SCOPES
)
creds = flow.run_local_server(port=0)
# Save the credentials for the next run
with open(TOKEN_FILE, 'w') as token:
token.write(creds.to_json())
return creds
def fetch_health_data_grpc(creds):
"""Fetches health data using gRPC."""
if not data_points_pb2_grpc:
return
try:
# Create an authenticated gRPC channel
channel = secure_authorized_channel(creds, Request(), f'{GRPC_ENDPOINT}:443')
# Create a stub for the DataPointsService
stub = data_points_pb2_grpc.DataPointsServiceStub(channel)
# Example: list steps data points for the authenticated user 'me'
request = data_points_pb2.ListDataPointsRequest(parent='users/me/dataTypes/steps')
response = stub.ListDataPoints(request)
print('Health data via gRPC:', response)
except grpc.RpcError as e:
print(f'Error fetching data via gRPC: {e.code()} - {e.details()}')
except Exception as e:
print(f'An error occurred during gRPC call: {e}')
if __name__ == '__main__':
try:
creds = get_credentials()
print("Fetching data using gRPC...")
fetch_health_data_grpc(creds)
except Exception as e:
print(f"An error occurred: {e}")
- استيراد المكتبات:
grpc: مكتبة gRPC للغة Pythongoogle.auth.transport.grpc: لإنشاء قنوات آمنة ومصادَق عليهاdata_points_pb2،data_points_pb2_grpc: رمز العميل الذي تم إنشاؤه من.protoملفات.
- الإعداد:
CLIENT_SECRETS_FILE: مسار ملفclient_secret.jsonSCOPES: الأذونات المطلوبةTOKEN_FILE: مسار تخزين رموز OAuth المميزةGRPC_ENDPOINT: اسم المضيف لخدمة Google Health gRPC
get_credentials():- تحميل بيانات سرية للعميل من ملف، واستخدام
InstalledAppFlowمنgoogle-auth-oauthlibلإدارة التفويض، ومحاولة تحميل بيانات الاعتماد المخزَّنة، أو بدء مسار OAuth 2.0 إذا لزم الأمر
- تحميل بيانات سرية للعميل من ملف، واستخدام
fetch_health_data_grpc():- إنشاء قناة gRPC آمنة ومصادَق عليها باستخدام بيانات اعتماد المستخدم
- تهيئة
DataPointsServiceStubباستخدام القناة - إنشاء
ListDataPointsRequestلطلب بيانات الخطوات لـusers/me - استدعاء طريقة
ListDataPointsRPC وطباعة الردّ
- التعامل مع الأخطاء: يتضمّن الرمز كتل
try...exceptأساسية للتعامل مع أخطاء gRPC والأخطاء الأخرى.