Trang này cung cấp các đường liên kết đến những cách thuận tiện để truy cập vào Google Health API.
Thư viện ứng dụng API của Google Health
API Google Health được xây dựng trên HTTP và JSON, do đó, mọi ứng dụng HTTP tiêu chuẩn đều có thể gửi yêu cầu tới API này và phân tích cú pháp các phản hồi.
Tuy nhiên, thay vì tạo yêu cầu HTTP và phân tích cú pháp phản hồi theo cách thủ công, bạn có thể muốn sử dụng thư viện ứng dụng API của Google. Các thư viện ứng dụng cung cấp tính năng tích hợp ngôn ngữ tốt hơn, có mức độ bảo mật cao hơn và hỗ trợ thực hiện các lệnh gọi yêu cầu người dùng phải uỷ quyền.
Go
Tải thư viện ứng dụng API Google Health mới nhất cho Go. Đọc hướng dẫn dành cho nhà phát triển của thư viện ứng dụng.
Java
Trang này cung cấp thông tin về cách bắt đầu sử dụng Google Health API bằng Thư viện ứng dụng API của Google cho Java. Để biết thêm thông tin, hãy xem tài liệu sau đây:
Thêm thư viện ứng dụng vào dự án
Chọn môi trường tạo bản dựng của bạn (Maven hoặc Gradle) qua các thẻ sau đây:
Thêm đoạn mã sau vào tệp pom.xml của bạn:
Thêm đoạn mã sau vào tệp build.gradle của bạn:
JavaScript
Đọc hướng dẫn dành cho nhà phát triển của thư viện ứng dụng.
.NET
Trang này cung cấp thông tin về cách bắt đầu sử dụng Google Health API bằng Thư viện ứng dụng API của Google cho .NET. Để biết thêm thông tin, hãy xem tài liệu sau đây:
Tải thư viện xuống
Cài đặt gói NuGet: Google.Apis.
Node.js
Tải thư viện ứng dụng Google Health API mới nhất cho Node.js. Đọc hướng dẫn dành cho nhà phát triển của thư viện ứng dụng.
Obj-C
Tải thư viện ứng dụng API Google Health mới nhất cho Objective-C. Đọc hướng dẫn dành cho nhà phát triển của thư viện ứng dụng.
PHP
Tải thư viện ứng dụng API Google Health mới nhất cho PHP. Đọc hướng dẫn dành cho nhà phát triển của thư viện ứng dụng.
Python
Trang này cung cấp thông tin về cách làm quen với Google Health API bằng Thư viện ứng dụng API của Google cho Python (phiên bản 1/phiên bản 2). Để biết thêm thông tin, hãy xem tài liệu sau đây:
Yêu cầu về hệ thống
- Hệ điều hành:
- Linux
- macOS X
- Windows
- Thư viện ứng dụng phiên bản 1 yêu cầu Python 2.7 trở lên. Thư viện ứng dụng phiên bản 1 yêu cầu Python 3.7 trở lên.
Cài đặt thư viện ứng dụng
Bạn có thể sử dụng trình quản lý gói để cài đặt hoặc tải thư viện ứng dụng Python xuống rồi cài đặt theo cách thủ công:
Cài đặt qua trình quản lý
Dùng pip hoặc setuptools để quản lý hoạt động cài đặt của bạn. Có thể trước tiên bạn phải chạy sudo.
- pip (ưu tiên):
pip install --upgrade google-api-python-client
- Setuptools:
easy_install --upgrade google-api-python-client
Cài đặt theo cách thủ công
- Tải thư viện ứng dụng mới nhất cho Python.
- Giải nén mã.
- Cài đặt:
python setup.py install
App Engine
Do các thư viện ứng dụng Python không cài đặt được trong môi trường chạy App Engine Python, nên bạn phải sao chép các thư viện đó vào ứng dụng của mình y như thư viện của bên thứ ba.
Ruby
Trang này cung cấp thông tin về cách bắt đầu sử dụng Google Health API bằng Thư viện ứng dụng API của Google cho Ruby. Để biết thêm thông tin, hãy xem tài liệu sau đây:
Cài đặt gem google-api-client
Tuỳ thuộc vào hệ thống của bạn, có thể bạn phải thêm sudo vào phần đầu các lệnh này.
Nếu bạn chưa từng cài đặt Thư viện ứng dụng API của Google cho Ruby, hãy cài đặt bằng cách sử dụng RubyGems:
gem install google-api-client
Nếu bạn từng cài đặt gem này, hãy cập nhật lên phiên bản mới nhất:
gem update -y google-api-client
Bắt đầu sử dụng Thư viện ứng dụng API của Google cho Ruby
Để tìm hiểu cách đưa ra yêu cầu đầu tiên, hãy xem phần Hướng dẫn bắt đầu sử dụng.
gRPC
Google Health API cũng hỗ trợ gRPC để truy xuất dữ liệu hiệu suất cao. Ngoài việc cài đặt thư viện ứng dụng, việc sử dụng gRPC yêu cầu bạn phải lấy định nghĩa Protocol Buffers của API và tạo mã giả lập phía máy khách trước khi đưa ra yêu cầu.
- Cài đặt thư viện gRPC:
- Sử dụng
pip install grpcio grpcio-tools google-auth-oauthlibđể cài đặt các phần phụ thuộc.
- Sử dụng
- Tạo mã ứng dụng:
- Lấy các định nghĩa
.protocủa Google Health API (ví dụ:data_points.proto). - Chạy
python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. path/to/your/data_points.protođể tạo mã gốc.
- Lấy các định nghĩa
- Triển khai OAuth 2.0 và đưa ra các yêu cầu gRPC:
- Sử dụng
google-auth-oauthlibđể uỷ quyền và sử dụng mã giả lập ứng dụng khách đã tạo để đưa ra các yêu cầu gRPC, như trong ví dụ sau.
- Sử dụng
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}")
- Nhập thư viện:
grpc: Thư viện gRPC Python.google.auth.transport.grpc: Để tạo các kênh bảo mật, được xác thực.data_points_pb2,data_points_pb2_grpc: Mã ứng dụng được tạo từ các tệp.proto.
- Cấu hình:
CLIENT_SECRETS_FILE: Đường dẫn đến tệpclient_secret.json.SCOPES: Các quyền bắt buộc.TOKEN_FILE: Đường dẫn để lưu trữ mã thông báo OAuth.GRPC_ENDPOINT: Tên máy chủ lưu trữ cho dịch vụ gRPC của Google Health.
get_credentials():- Tải mật khẩu ứng dụng khách từ tệp, sử dụng
InstalledAppFlowtừgoogle-auth-oauthlibđể quản lý hoạt động uỷ quyền, cố gắng tải thông tin đăng nhập đã lưu trữ hoặc bắt đầu quy trình OAuth 2.0 nếu cần.
- Tải mật khẩu ứng dụng khách từ tệp, sử dụng
fetch_health_data_grpc():- Tạo một kênh gRPC được xác thực, bảo mật bằng thông tin đăng nhập của người dùng.
- Khởi chạy
DataPointsServiceStubbằng kênh. - Tạo một
ListDataPointsRequestđể yêu cầu dữ liệu về số bước chousers/me. - Gọi phương thức RPC
ListDataPointsvà in phản hồi.
- Xử lý lỗi: Mã này bao gồm các khối
try...exceptcơ bản để xử lý gRPC và các lỗi khác.