کتابخانه‌های کارخواه

این صفحه پیوندهایی به روش‌های راحت برای دسترسی به API گوگل هلث ارائه می‌دهد.

کتابخانه‌های کلاینت API گوگل هلث

رابط برنامه‌نویسی کاربردی گوگل هلث (Google Health API) بر پایه HTTP و JSON ساخته شده است، بنابراین هر کلاینت استاندارد HTTP می‌تواند درخواست‌هایی را به آن ارسال کرده و پاسخ‌ها را تجزیه و تحلیل کند.

با این حال، به جای ایجاد درخواست‌های HTTP و تجزیه پاسخ‌ها به صورت دستی، می‌توانید از کتابخانه‌های کلاینت Google APIs استفاده کنید. کتابخانه‌های کلاینت، ادغام زبان بهتر، امنیت بهبود یافته و پشتیبانی از برقراری تماس‌هایی که نیاز به مجوز کاربر دارند را فراهم می‌کنند.

برو

جدیدترین کتابخانه کلاینت Google Health API را برای Go دریافت کنید. راهنمای توسعه‌دهنده کتابخانه کلاینت را مطالعه کنید.

جاوا

این صفحه حاوی اطلاعاتی در مورد شروع به کار با Google Health API با استفاده از کتابخانه کلاینت Google API برای جاوا است. برای اطلاعات بیشتر، به مستندات زیر مراجعه کنید:

کتابخانه کلاینت را به پروژه خود اضافه کنید

محیط ساخت خود (Maven یا 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 استفاده کنید. ممکن است ابتدا لازم باشد sudo را اجرا کنید.

نصب دستی

  1. آخرین کتابخانه کلاینت برای پایتون را دانلود کنید .
  2. کد را از حالت فشرده خارج کنید.
  3. نصب:
    python setup.py install

موتور برنامه

از آنجا که کتابخانه‌های کلاینت پایتون در محیط زمان اجرای App Engine Python نصب نشده‌اند، باید آنها را درست مانند کتابخانه‌های شخص ثالث در برنامه خود کپی کنید .

روبی

این صفحه حاوی اطلاعاتی در مورد شروع به کار با Google Health API با استفاده از کتابخانه کلاینت Google API برای Ruby است. برای اطلاعات بیشتر، به مستندات زیر مراجعه کنید:

نصب google-api-client gem

بسته به سیستم شما، ممکن است لازم باشد این دستورات را با sudo شروع کنید.

اگر قبلاً کتابخانه کلاینت API گوگل برای روبی را نصب نکرده‌اید، با استفاده از RubyGems آن را نصب کنید:

gem install google-api-client

اگر از قبل gem را نصب کرده‌اید، آن را به آخرین نسخه به‌روزرسانی کنید:

gem update -y google-api-client

شروع به کار با کتابخانه کلاینت API گوگل برای روبی کنید

برای یادگیری نحوه‌ی ارائه‌ی اولین درخواست خود، به راهنمای شروع به کار مراجعه کنید.

gRPC

API گوگل هلث همچنین از gRPC برای بازیابی داده‌های با کارایی بالا پشتیبانی می‌کند. علاوه بر نصب کتابخانه‌های کلاینت، استفاده از gRPC مستلزم دریافت تعاریف بافرهای پروتکل API و تولید کد Stub سمت کلاینت قبل از ارسال درخواست‌ها است.

  1. نصب کتابخانه‌های gRPC:
    • برای نصب وابستگی‌ها pip install grpcio grpcio-tools google-auth-oauthlib استفاده کنید.
  2. تولید کد کلاینت:
    • تعاریف .proto از API سلامت گوگل را دریافت کنید (برای مثال، data_points.proto ).
    • برای تولید کد stub python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. path/to/your/data_points.proto را اجرا کنید.
  3. پیاده‌سازی 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 ایجاد می‌کند.
    • متد ListDataPoints RPC را فراخوانی کرده و پاسخ را چاپ می‌کند.
  • مدیریت خطا: این کد شامل بلوک‌های try...except پایه برای مدیریت gRPC و سایر خطاها است.