Quyền truy cập và uỷ quyền đối với dữ liệu

Google Health API sử dụng một khung mạnh mẽ và chuẩn hoá để quản lý quyền truy cập dữ liệu và bảo mật. Một thành phần trung tâm của quá trình hiện đại hoá này là việc chuyển đổi từ Uỷ quyền Fitbit (FOT) cũ sang Google OAuth 2.0. Sự thay đổi này cho phép nhà phát triển tận dụng các thư viện xác thực tiêu chuẩn của Google, đơn giản hoá việc triển khai trong khi cung cấp cho người dùng một giao diện quen thuộc và tập trung để quản lý các quyền của họ.

Đăng ký ứng dụng

Bạn phải đăng ký tất cả các ứng dụng Google Health API bằng Google Cloud Console. Đây là một trung tâm quản lý tất cả các ứng dụng Google của bạn.

Để biết hướng dẫn về cách đăng ký ứng dụng, hãy làm theo các bước trong phần Bắt đầu. Sau đây là những điểm khác biệt mà bạn sẽ nhận thấy khi đăng ký ứng dụng.

Fitbit Web API Google Health API
Đường liên kết công khai https://dev.fitbit.com/apps https://console.cloud.google.com
Thêm ứng dụng mới Nhấn vào Đăng ký ứng dụng mới
  1. Tạo một dự án trên Google Cloud
  2. Bật Google Health API
Thông tin cơ bản Các trường cần điền:
  • Tên ứng dụng
  • Mô tả
  • URL trang web của ứng dụng
  • Tổ chức
  • URL trang web của tổ chức
  • URL của Điều khoản dịch vụ
  • URL chính sách bảo mật
Các trường cần điền:
  • Tên ứng dụng
  • Email của nhóm hỗ trợ
  • Đối tượng (nội bộ hoặc bên ngoài)
  • Email liên hệ
  • Biểu tượng biểu trưng
  • URL trang web của ứng dụng
  • URL chính sách quyền riêng tư
  • URL của Điều khoản dịch vụ
  • Miền được uỷ quyền
Các loại ứng dụng Nhà phát triển phải chọn:
  • Máy chủ
  • Khách hàng
  • Cá nhân
  • Ứng dụng web
  • Android
  • Tiện ích của Chrome
  • iOS
  • TV
  • Ứng dụng dành cho máy tính
  • Nền tảng Windows thống nhất
ID khách hàng Được đăng ký khi bạn lưu chế độ cài đặt ứng dụng Được đăng ký riêng
Loại quyền truy cập Quyền đọc và ghi được kiểm soát ở cấp ứng dụng Quyền đọc và ghi được kiểm soát ở cấp phạm vi
URL bổ sung
  • URL chuyển hướng: Trang web mà người dùng được chuyển hướng đến sau khi uỷ quyền các phạm vi
  • Nguồn gốc JavaScript được uỷ quyền: Nguồn gốc HTTP lưu trữ ứng dụng web
  • URL chuyển hướng: Trang web mà người dùng được chuyển hướng đến sau khi uỷ quyền các phạm vi

Triển khai OAuth

Các ứng dụng Google Health API chỉ hỗ trợ Thư viện ứng dụng Google OAuth2. Thư viện ứng dụng có sẵn cho các khung hình phổ biến, giúp việc triển khai OAuth 2.0 trở nên đơn giản hơn. Sau đây là sự khác biệt giữa thư viện Google OAuth2 và thư viện OAuth2 nguồn mở:

Fitbit Web API Google Health API
Hỗ trợ thư viện OAuth2 Nguồn mở Thư viện ứng dụng Google OAuth2
Chức năng Không nhất quán trên các nền tảng Nhất quán trên nhiều nền tảng
URL uỷ quyền https://www.fitbit.com/oauth2/authorize https://accounts.google.com/o/oauth2/v2/auth
URL mã thông báo https://api.fitbit.com/oauth2/token https://oauth2.googleapis.com/token
Thời gian tồn tại của mã truy cập 8 giờ 1 giờ
Kích thước mã truy cập 1024 byte 2048 byte
Mã làm mới Mã làm mới được tạo khi sử dụng Quy trình cấp mã uỷ quyền. Bạn chỉ có thể tạo 1 mã làm mới cho mỗi người dùng. Mã thông báo không bao giờ hết hạn và chỉ có thể được sử dụng một lần. Để tạo mã làm mới, chuỗi uỷ quyền phải chứa tham số truy vấn "access_type=offline". Bạn có thể tạo nhiều mã làm mới cho một người dùng. Mã làm mới có thể dựa trên thời gian. Các mã này sẽ hết hạn nếu chưa được sử dụng trong 6 tháng, người dùng được cấp quyền truy cập dựa trên thời gian hoặc ứng dụng đang ở chế độ "Kiểm thử". Hãy xem phần Thời gian hết hạn của mã làm mới để biết thêm thông tin chi tiết.
Phản hồi bằng mã thông báo Phản hồi JSON chứa:
  • mã truy cập
  • thời gian hết hạn mã truy cập
  • các phạm vi
  • loại mã thông báo
  • mã làm mới
  • mã nhận dạng người dùng
Phản hồi JSON chứa:
  • mã truy cập
  • thời gian hết hạn mã truy cập
  • các phạm vi
  • loại mã thông báo
  • mã làm mới

Để lấy mã nhận dạng người dùng, hãy sử dụng điểm cuối users.getIdentity.

Người dùng Fitbit phải đồng ý lại với chế độ tích hợp mới của bạn, vì ứng dụng của bạn đang sử dụng một thư viện OAuth khác. Không thể chuyển mã truy cập và mã làm mới sang Google Health API và hoạt động.