Bạn có thể truy cập vào Google Health API thông qua Google Cloud. Để bật API và uỷ quyền cho Tài khoản Google, bạn cần có một dự án Google Cloud.
Dù bạn là nhà phát triển API Fitbit hiện tại hay mới sử dụng Google Health API, bạn đều cần hoàn tất bước này để gọi API.
Tạo dự án và ứng dụng OAuth
Sử dụng nút Enable the API and get an OAuth 2.0 Client ID (Bật API và nhận mã ứng dụng khách OAuth 2.0) để bật Google Health API và nhận mã ứng dụng khách OAuth 2.0:
- Nếu bạn có một dự án Google Cloud hiện tại mà bạn muốn sử dụng cho Google Health API, hãy nhớ đăng nhập vào tài khoản quản trị viên cho dự án đó trước. Sau đó, hãy chọn dự án hiện có trong danh sách các dự án hiện có sau khi nhấp vào nút này. Nếu không, hãy tạo một dự án mới.
- Chọn Web Server (Máy chủ web) khi hệ thống hỏi "Where are you calling from?" (Bạn đang gọi từ đâu?).
- Nhập https://www.google.com làm giá trị cho Authorized redirect URIs (URI chuyển hướng được uỷ quyền). Bạn cần có URI chuyển hướng để lấy Mã uỷ quyền bằng OAuth 2.0.
- Sau khi hoàn tất quá trình thiết lập, hãy sao chép các giá trị Mã ứng dụng khách OAuth 2.0 và Khoá ứng dụng khách, đồng thời tải tệp JSON thông tin xác thực xuống máy cục bộ.
Nếu bạn muốn thiết lập dự án Google Cloud theo cách thủ công hoặc xác minh quá trình thiết lập và truy xuất lại thông tin xác thực:
- Bật Google Health API trên trang Bật API.
- Nhận mã ứng dụng khách OAuth 2.0 trên trang Thông tin xác thực.
Để biết thêm thông tin về cách thiết lập OAuth 2.0 bằng bảng điều khiển Google, hãy xem bài viết Sử dụng OAuth 2.0 để truy cập vào các API của Google.
Thêm người dùng thử nghiệm
Theo mặc định, các ứng dụng OAuth mới tạo sẽ ở trạng thái chưa xác minh với giới hạn 100 người dùng cho cả mục đích thử nghiệm và phát hành công khai. Để bật tính năng uỷ quyền trong khoảng thời gian này, bạn phải thêm địa chỉ email của từng người dùng vào danh sách Người dùng thử nghiệm trong cấu hình dự án theo cách thủ công.
Cập nhật danh sách người dùng thử nghiệm trên trang Đối tượng:
- Trên trang này, bạn sẽ thấy "Trạng thái phát hành" được đặt thành Testing (Thử nghiệm) và "Loại người dùng" được đặt thành External (Bên ngoài).
- Trong phần "Người dùng thử nghiệm", hãy nhấp vào + Thêm người dùng. Nhập địa chỉ email cho mọi người dùng thử nghiệm được phép cấp cho ứng dụng của bạn quyền truy cập vào dữ liệu sức khoẻ của họ.
- Nhấp vào Lưu.
Để hỗ trợ hơn 100 người dùng bằng Google Health API, bạn cần hoàn tất quy trình xem xét bảo mật của bên thứ ba. Bạn có thể tìm thêm thông tin trong Trung tâm trợ giúp về quy trình xác minh ứng dụng OAuth.
Thêm phạm vi
Bạn phải chỉ định các phạm vi mà ứng dụng được phép gọi trên trang Truy cập dữ liệu:
- Trên trang này, hãy nhấp vào Thêm hoặc xoá phạm vi.
- Trong cột API, hãy tìm "Google Health API". Chọn các phạm vi bạn cần cho ứng dụng của mình.
- Sau khi chọn tất cả các phạm vi bạn cần, hãy nhấp vào Cập nhật để quay lại trang Truy cập dữ liệu.
- Nhấp vào Lưu.
Bạn đã hoàn tất việc thiết lập mã ứng dụng khách và giờ đây có thể gọi Google Health API.
Cập nhật phạm vi
Bạn có thể nhắc người dùng cấp lại quyền cho ứng dụng bằng cách đặt tham số prompt thành consent trong yêu cầu xác thực. Khi bạn thêm prompt=consent, màn hình xin phép sẽ xuất hiện mỗi khi ứng dụng của bạn yêu cầu uỷ quyền cho các phạm vi truy cập, ngay cả khi tất cả các phạm vi đã được cấp cho dự án API Google của bạn trước đó.
Để thêm hoặc thay đổi phạm vi bằng tham số prompt=consent, hãy làm theo các bước sau:
Xác định danh sách đầy đủ các Phạm vi mà ứng dụng của bạn cần. Danh sách này phải bao gồm cả các phạm vi hiện có và mọi phạm vi mới mà bạn cần thêm.
Sửa đổi tham số phạm vi trong URL uỷ quyền để đưa danh sách các giá trị phạm vi được phân tách bằng dấu cách đã cập nhật vào.
Nối
prompt=consentvào các tham số URI xác thực. Thao tác này buộc máy chủ uỷ quyền nhắc người dùng xin phép trước khi trả về thông tin cho ứng dụng của bạn.Ví dụ sau đây cho thấy một yêu cầu HTTPS GET đến điểm cuối uỷ quyền OAuth 2.0 của Google, yêu cầu nhiều phạm vi với
prompt=consentđược nối vào:https://accounts.google.com/o/oauth2/v2/auth?client_id=client-id&redirect_uri=redirect-uri&response_type=code&access_type=offline&scope=https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly%20https://www.googleapis.com/auth/googlehealth.sleep.readonly&prompt=consent
Khi người dùng nhấp vào đường liên kết đã cập nhật, họ sẽ thấy một trang xin phép liệt kê tất cả các phạm vi được yêu cầu. Sau khi người dùng nhấp vào "Continue" (Tiếp tục) hoặc "Allow" (Cho phép), bạn sẽ nhận được một mã uỷ quyền mới có thể đổi lấy mã thông báo bao gồm toàn bộ phạm vi.
Chỉ thêm
prompt=consentkhi cần thiết, chẳng hạn như khi bạn cần lấy mã làm mới mới hoặc khi các phạm vi được yêu cầu đã thay đổi.
Thư viện ứng dụng OAuth2
Bạn có thể xem danh sách các thư viện ứng dụng OAuth2 hiện có được dùng để tích hợp với các khung phổ biến tại bài viết Sử dụng OAuth 2.0 để truy cập vào các API của Google.
Mã làm mới
Để duy trì quyền truy cập dài hạn vào các API của Google mà không cần người dùng liên tục xác thực lại, ứng dụng của bạn phải sử dụng mã làm mới. Để biết thông tin chi tiết toàn diện về cách triển khai, bao gồm cả các yêu cầu và tham số HTTP cụ thể cần thiết, hãy tham khảo tài liệu về nền tảng nhận dạng của Google.
Để đổi mã làm mới lấy mã truy cập, hãy thực hiện lệnh gọi HTTPS POST đến điểm cuối mã thông báo OAuth 2.0 của Google. Đoạn mã sau đây cho thấy một ví dụ về yêu cầu và phản hồi:
Yêu cầu
curl -L -X POST 'https://oauth2.googleapis.com/token' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'client_id=client-id&client_secret=client-secret&refresh_token=refresh-token&grant_type=refresh_token'
Phản hồi
{
"access_token": "access-token",
"expires_in": 3599,
"scope": "scope-list",
"token_type": "Bearer",
"refresh_token": "refresh-token",
"refresh_token_expires_in": 112154
}Hành vi của mã thông báo trong quá trình thử nghiệm
Hãy lưu ý về hành vi của mã làm mới tuỳ thuộc vào trạng thái phát hành của dự án Google Cloud:
- Chế độ thử nghiệm: Nếu màn hình xin phép bằng OAuth được định cấu hình với trạng thái phát hành "Thử nghiệm", thì mã làm mới được cấp sẽ dựa trên thời gian và hết hạn sau 7 ngày. Trong khoảng thời gian này, bạn sẽ nhận được một mã làm mới duy nhất vẫn hợp lệ và có thể dùng để lấy mã truy cập mới cho đến khi hết hạn.
- Chế độ phát hành: Sau khi ứng dụng của bạn chuyển sang trạng thái "Đang phát hành công khai", mã làm mới thường không hết hạn trừ phi bị thu hồi hoặc không được sử dụng trong một thời gian dài (thường là 6 tháng).
Để mang lại trải nghiệm nhất quán cho người dùng, hãy đảm bảo bạn phát hành ứng dụng trước khi chuyển ứng dụng đó vào môi trường phát hành công khai để tránh tình trạng mã thông báo hết hạn sau 7 ngày.