Library klien

Halaman ini menyediakan link ke cara mudah untuk mengakses Google Health API.

Library klien Google Health API

Google Health API dibuat berdasarkan HTTP dan JSON, sehingga semua klien HTTP standar dapat mengirim permintaan ke API ini dan mengurai responsnya.

Namun, daripada membuat permintaan HTTP dan mengurai respons secara manual, Anda dapat menggunakan library klien Google API. Library klien menyediakan integrasi bahasa yang lebih baik, keamanan yang ditingkatkan, dan dukungan untuk melakukan panggilan yang memerlukan otorisasi pengguna.

Go

Dapatkan library klien Google Health API terbaru untuk Go. Baca panduan developer library klien.

Java

Halaman ini berisi informasi tentang cara memulai Google Health API menggunakan Library Klien Google API untuk Java. Untuk informasi selengkapnya, lihat dokumentasi berikut:

Menambahkan library klien ke project

Pilih lingkungan build (Maven atau Gradle) dari tab berikut:

JavaScript

Baca panduan developer untuk library klien ini.

.NET

Halaman ini berisi informasi tentang cara memulai Google Health API menggunakan Library Klien Google API untuk .NET. Untuk informasi selengkapnya, lihat dokumentasi berikut:

Mendownload library

Instal paket NuGet: Google.Apis.

Node.js

Dapatkan library klien Google Health API terbaru untuk Node.js. Baca panduan developer terkait library klien.

Obj-C

Dapatkan library klien Google Health API terbaru untuk Objective-C. Baca panduan developer terkait library klien.

PHP

Dapatkan library klien Google Health API terbaru untuk PHP. Baca panduan developer terkait library klien.

Python

Halaman ini berisi informasi tentang cara memulai Google Health API menggunakan Library Klien Google API untuk Python (v1/v2). Untuk informasi selengkapnya, lihat dokumentasi berikut:

Persyaratan sistem

Menginstal library klien

Anda dapat menggunakan pengelola paket atau mendownload dan menginstal library klien Python secara manual:

Penginstalan terkelola

Gunakan pip atau setuptools untuk mengelola penginstalan. Anda mungkin perlu menjalankan sudo terlebih dahulu.

  • pip (lebih disarankan):
    pip install --upgrade google-api-python-client
  • Setuptools:
    easy_install --upgrade google-api-python-client

Penginstalan manual

  1. Download library klien terbaru untuk Python.
  2. Ekstrak kodenya.
  3. Instal:
    python setup.py install

App Engine

Karena library klien Python tidak diinstal di lingkungan runtime App Engine Python, Anda harus menyalinnya ke aplikasi sama seperti library pihak ketiga.

Ruby

Halaman ini berisi informasi tentang cara memulai Google Health API menggunakan Library Klien Google API untuk Ruby. Untuk informasi selengkapnya, lihat dokumentasi berikut:

Menginstal gem google-api-client

Bergantung pada sistemnya, Anda mungkin perlu mengawali perintah tersebut dengan sudo.

Jika Anda belum pernah menginstal Library Klien Google API untuk Ruby, instal menggunakan RubyGems:

gem install google-api-client

Jika Anda sudah pernah menginstal gem ini, update ke versi terbaru:

gem update -y google-api-client

Memulai Library Klien Google API untuk Ruby

Untuk mempelajari cara membuat permintaan pertama Anda, lihat Panduan memulai.

gRPC

Google Health API juga mendukung gRPC untuk pengambilan data berperforma tinggi. Selain menginstal library klien, penggunaan gRPC memerlukan perolehan definisi Protocol Buffers API dan pembuatan kode stub sisi klien sebelum membuat permintaan.

  1. Instal library gRPC:
    • Gunakan pip install grpcio grpcio-tools google-auth-oauthlib untuk menginstal dependensi.
  2. Buat kode klien:
    • Dapatkan definisi .proto Google Health API (misalnya, data_points.proto).
    • Jalankan python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. path/to/your/data_points.proto untuk membuat kode stub.
  3. Terapkan OAuth 2.0 dan buat permintaan gRPC:
    • Gunakan google-auth-oauthlib untuk otorisasi dan stub klien yang dihasilkan untuk membuat permintaan gRPC, seperti yang ditunjukkan dalam contoh berikut.
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}")
  • Mengimpor Library:
    • grpc: Library gRPC Python.
    • google.auth.transport.grpc: Untuk membuat channel yang aman dan diautentikasi.
    • data_points_pb2, data_points_pb2_grpc: Kode klien yang dibuat dari file .proto.
  • Konfigurasi:
    • CLIENT_SECRETS_FILE: Jalur ke file client_secret.json Anda.
    • SCOPES: Izin yang diperlukan.
    • TOKEN_FILE: Jalur untuk menyimpan token OAuth.
    • GRPC_ENDPOINT: Nama host untuk layanan gRPC Google Health.
  • get_credentials():
    • Memuat rahasia klien dari file, menggunakan InstalledAppFlow dari google-auth-oauthlib untuk mengelola otorisasi, mencoba memuat kredensial yang disimpan, atau memulai alur OAuth 2.0 jika diperlukan.
  • fetch_health_data_grpc():
    • Membuat saluran gRPC yang aman dan diautentikasi menggunakan kredensial pengguna.
    • Menginisialisasi DataPointsServiceStub dengan channel.
    • Membuat ListDataPointsRequest untuk meminta data langkah untuk users/me.
    • Memanggil metode RPC ListDataPoints dan mencetak respons.
  • Penanganan Error: Kode ini mencakup blok try...except dasar untuk menangani gRPC dan error lainnya.