این صفحه پیوندهایی به روشهای راحت برای دسترسی به API گوگل هلث ارائه میدهد.
کتابخانههای کلاینت API گوگل هلث
رابط برنامهنویسی کاربردی گوگل هلث (Google Health API) بر پایه HTTP و JSON ساخته شده است، بنابراین هر کلاینت استاندارد HTTP میتواند درخواستهایی را به آن ارسال کرده و پاسخها را تجزیه و تحلیل کند.
با این حال، به جای ایجاد درخواستهای HTTP و تجزیه پاسخها به صورت دستی، میتوانید از کتابخانههای کلاینت Google APIs استفاده کنید. کتابخانههای کلاینت، ادغام زبان بهتر، امنیت بهبود یافته و پشتیبانی از برقراری تماسهایی که نیاز به مجوز کاربر دارند را فراهم میکنند.
برو
جدیدترین کتابخانه کلاینت Google Health API را برای Go دریافت کنید. راهنمای توسعهدهنده کتابخانه کلاینت را مطالعه کنید.
جاوا
این صفحه حاوی اطلاعاتی در مورد شروع به کار با Google Health API با استفاده از کتابخانه کلاینت Google API برای جاوا است. برای اطلاعات بیشتر، به مستندات زیر مراجعه کنید: محیط ساخت خود (Maven یا Gradle) را از تبهای زیر انتخاب کنید: موارد زیر را به فایل تمام نسخههای موجود در مخزن مرکزی Maven را مشاهده کنید. موارد زیر را به فایل تمام نسخههای موجود در مخزن مرکزی Maven را مشاهده کنید. کتابخانه کلاینت را به پروژه خود اضافه کنید
pom.xml خود اضافه کنید: build.gradle خود اضافه کنید:
جاوا اسکریپت
راهنمای توسعهدهندهی کتابخانهی کلاینت را مطالعه کنید.
دات نت
این صفحه حاوی اطلاعاتی در مورد شروع به کار با Google Health API با استفاده از کتابخانه کلاینت Google API برای .NET است. برای اطلاعات بیشتر، به مستندات زیر مراجعه کنید: بسته NuGet را نصب کنید: Google.Apis . دانلود کتابخانه
نود جی اس
جدیدترین کتابخانه کلاینت Google Health API را برای Node.js دریافت کنید. راهنمای توسعهدهنده کتابخانه کلاینت را مطالعه کنید.
شیء-سی
جدیدترین کتابخانه کلاینت Google Health API را برای Objective-C دریافت کنید. راهنمای توسعهدهنده کتابخانه کلاینت را مطالعه کنید.
پی اچ پی
جدیدترین کتابخانه کلاینت Google Health API را برای PHP دریافت کنید. راهنمای توسعهدهنده کتابخانه کلاینت را مطالعه کنید.
پایتون
این صفحه حاوی اطلاعاتی در مورد شروع به کار با Google Health API با استفاده از کتابخانه کلاینت Google API برای پایتون (نسخه ۱/۲) است. برای اطلاعات بیشتر، به مستندات زیر مراجعه کنید: میتوانید از یک مدیر بسته استفاده کنید یا کتابخانه کلاینت پایتون را به صورت دستی دانلود و نصب کنید: برای مدیریت نصب از pip یا setuptools استفاده کنید. ممکن است ابتدا لازم باشد از آنجا که کتابخانههای کلاینت پایتون در محیط زمان اجرای App Engine Python نصب نشدهاند، باید آنها را درست مانند کتابخانههای شخص ثالث در برنامه خود کپی کنید . الزامات سیستم
کتابخانه کلاینت را نصب کنید
نصب مدیریتشده
sudo را اجرا کنید.pip install --upgrade google-api-python-client
easy_install --upgrade google-api-python-client
نصب دستی
python setup.py install
موتور برنامه
روبی
این صفحه حاوی اطلاعاتی در مورد شروع به کار با Google Health API با استفاده از کتابخانه کلاینت Google API برای Ruby است. برای اطلاعات بیشتر، به مستندات زیر مراجعه کنید: بسته به سیستم شما، ممکن است لازم باشد این دستورات را با اگر قبلاً کتابخانه کلاینت API گوگل برای روبی را نصب نکردهاید، با استفاده از نصب
google-api-client gemsudo شروع کنید.RubyGems آن را نصب کنید:gem install google-api-client
اگر از قبل gem را نصب کردهاید، آن را به آخرین نسخه بهروزرسانی کنید:
gem update -y google-api-client
شروع به کار با کتابخانه کلاینت API گوگل برای روبی کنید
برای یادگیری نحوهی ارائهی اولین درخواست خود، به راهنمای شروع به کار مراجعه کنید.
gRPC
API گوگل هلث همچنین از gRPC برای بازیابی دادههای با کارایی بالا پشتیبانی میکند. علاوه بر نصب کتابخانههای کلاینت، استفاده از gRPC مستلزم دریافت تعاریف بافرهای پروتکل API و تولید کد Stub سمت کلاینت قبل از ارسال درخواستها است.
- نصب کتابخانههای gRPC:
- برای نصب وابستگیها
pip install grpcio grpcio-tools google-auth-oauthlibاستفاده کنید.
- برای نصب وابستگیها
- تولید کد کلاینت:
- تعاریف
.protoاز API سلامت گوگل را دریافت کنید (برای مثال،data_points.proto). - برای تولید کد stub
python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. path/to/your/data_points.protoرا اجرا کنید.
- تعاریف
- پیادهسازی OAuth 2.0 و ارسال درخواستهای gRPC:
-
google-auth-oauthlibبرای احراز هویت و از stub کلاینت تولید شده برای ارسال درخواستهای 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. -
google.auth.transport.grpc: برای ایجاد کانالهای امن و احراز هویت شده. -
data_points_pb2،data_points_pb2_grpc: کد کلاینت تولید شده از فایلهای.proto.
-
- پیکربندی:
-
CLIENT_SECRETS_FILE: مسیر فایلclient_secret.jsonشما. -
SCOPES: مجوزهای مورد نیاز. -
TOKEN_FILE: مسیر ذخیره توکنهای OAuth. -
GRPC_ENDPOINT: نام میزبان سرویس gRPC گوگل هلث.
-
-
get_credentials():- اطلاعات محرمانهی کلاینت را از فایل بارگذاری میکند، از
InstalledAppFlowازgoogle-auth-oauthlibبرای مدیریت مجوزها استفاده میکند، سعی در بارگذاری اعتبارنامههای ذخیرهشده دارد، یا در صورت نیاز جریان OAuth 2.0 را آغاز میکند.
- اطلاعات محرمانهی کلاینت را از فایل بارگذاری میکند، از
-
fetch_health_data_grpc():- با استفاده از اعتبارنامههای کاربر، یک کانال gRPC امن و احراز هویت شده ایجاد میکند.
- یک
DataPointsServiceStubبا کانال مقداردهی اولیه میکند. - یک
ListDataPointsRequestبرای درخواست دادههای مراحل برایusers/meایجاد میکند. - متد
ListDataPointsRPC را فراخوانی کرده و پاسخ را چاپ میکند.
- مدیریت خطا: این کد شامل بلوکهای
try...exceptپایه برای مدیریت gRPC و سایر خطاها است.