Nhận mã ứng dụng khách OAuth 2.0

Tổng quan

Để sử dụng Google Fit cho Android, bạn cần có mã ứng dụng khách OAuth 2.0 cho các ứng dụng Android.

Tất cả ứng dụng Android đều được ký bằng một chứng chỉ kỹ thuật số mà bạn giữ khoá riêng tư. Hãy tham khảo hướng dẫn của Android về cách ký ứng dụng để biết thêm thông tin về chứng chỉ kỹ thuật số.

Mã ứng dụng OAuth Android được liên kết với các cặp chứng chỉ/gói cụ thể. Bạn chỉ cần một mã nhận dạng cho mỗi chứng chỉ, bất kể bạn có bao nhiêu người dùng cho ứng dụng.

Bạn cần thực hiện một số bước để lấy mã nhận dạng cho ứng dụng của mình. Các bước này được trình bày dưới đây.

  1. Tìm thông tin về chứng chỉ của ứng dụng.
  2. Tạo hoặc sửa đổi một dự án trong Bảng điều khiển API của Google.
  3. Yêu cầu mã ứng dụng OAuth 2.0.

Tìm thông tin về chứng chỉ của ứng dụng

Khoá API dựa trên một dạng ngắn của chứng chỉ kỹ thuật số của ứng dụng, còn được gọi là vân tay số SHA-1. Để hiển thị dấu vân tay SHA-1 cho chứng chỉ của bạn, trước tiên, hãy đảm bảo rằng bạn đang sử dụng đúng chứng chỉ. Bạn có thể có 2 chứng chỉ:

  • Chứng chỉ gỡ lỗi: Bộ công cụ SDK Android sẽ tự động tạo chứng chỉ này khi bạn thực hiện bản dựng gỡ lỗi. Chỉ sử dụng chứng chỉ này với những ứng dụng mà bạn đang kiểm thử. Đừng cố gắng xuất bản ứng dụng được ký bằng chứng chỉ gỡ lỗi. Giấy chứng nhận gỡ lỗi được mô tả chi tiết hơn trong phần Ký ở chế độ gỡ lỗi trong Tài liệu dành cho nhà phát triển Android.
  • Chứng chỉ phát hành: Các công cụ SDK Android sẽ tạo chứng chỉ này khi bạn thực hiện bản dựng phát hành. Bạn cũng có thể tạo chứng chỉ này bằng chương trình keytool. Sử dụng chứng chỉ này khi bạn đã sẵn sàng phát hành ứng dụng ra thị trường.

Hãy làm theo các bước dưới đây để hiển thị dấu vân tay SHA-1 của chứng chỉ bằng chương trình keytool với tham số -v. Để biết thêm thông tin về Keytool, hãy xem tài liệu của Oracle.

Chứng chỉ gỡ lỗi

Hiển thị dấu vân tay chứng chỉ gỡ lỗi

  1. Xác định vị trí tệp kho khoá gỡ lỗi. Tên tệp là debug.keystore và được tạo vào lần đầu tiên bạn tạo dự án. Theo mặc định, tệp này được lưu trữ trong cùng thư mục với các tệp Thiết bị ảo Android (AVD):

    • macOS và Linux: ~/.android/
    • Windows Vista và Windows 7: C:\Users\your_user_name\.android\
  2. Liệt kê vân tay SHA-1:

    • Đối với Linux hoặc macOS, hãy mở cửa sổ dòng lệnh rồi nhập nội dung sau:

      keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
    • Đối với Windows Vista và Windows 7, hãy chạy:

      keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

Bạn sẽ thấy kết quả xuất ra có dạng như sau:

Alias name: androiddebugkey
Creation date: Jan 01, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4aa9b300
Valid from: Mon Jan 01 08:04:04 UTC 2013 until: Mon Jan 01 18:04:04 PST 2033
Certificate fingerprints:
     MD5:  AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6A:AC:F9
     SHA1: BB:0D:AC:74:D3:21:E1:43:07:71:9B:62:90:AF:A1:66:6E:44:5D:75
     Signature algorithm name: SHA1withRSA
     Version: 3
Chứng chỉ phát hành

Hiển thị dấu vân tay chứng chỉ phát hành

  1. Xác định vị trí tệp kho khoá chứng chỉ phát hành. Không có vị trí hoặc tên mặc định cho kho khoá phát hành. Nếu bạn không chỉ định một khoá khi tạo ứng dụng để phát hành, bản dựng sẽ không được ký .apk và bạn sẽ phải ký trước khi có thể xuất bản. Đối với chứng chỉ phát hành, bạn cũng cần bí danh của chứng chỉ và mật khẩu cho kho khoá và chứng chỉ. Bạn có thể liệt kê các bí danh cho tất cả các khoá trong một kho khoá bằng cách nhập:

    keytool -list -keystore your_keystore_name

    Thay thế your_keystore_name bằng đường dẫn và tên đủ điều kiện của kho khoá, bao gồm cả đuôi .keystore. Bạn sẽ được nhắc nhập mật khẩu của kho khoá. Sau đó, keytool sẽ hiển thị tất cả các bí danh trong kho khoá.

  2. Nhập nội dung sau đây tại một cửa sổ dòng lệnh hoặc dấu nhắc lệnh:

    keytool -list -v -keystore your_keystore_name -alias your_alias_name

    Thay thế your_keystore_name bằng đường dẫn và tên đủ điều kiện của kho khoá, bao gồm cả đuôi .keystore. Thay thế your_alias_name bằng bí danh mà bạn đã chỉ định cho chứng chỉ khi tạo chứng chỉ.

Bạn sẽ thấy kết quả xuất ra có dạng như sau:

Alias name: <alias_name>
Creation date: Feb 02, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4cc9b300
Valid from: Mon Feb 02 08:01:04 UTC 2013 until: Mon Feb 02 18:05:04 PST 2033
Certificate fingerprints:
    MD5:  AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6B:AC:F9
    SHA1: BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:90:AF:A1:66:6E:44:5D:75
    Signature algorithm name: SHA1withRSA
    Version: 3

Dòng bắt đầu bằng SHA1 chứa dấu vân tay SHA-1 của chứng chỉ. Dấu vân tay là chuỗi gồm 20 số thập lục phân có hai chữ số được phân tách bằng dấu hai chấm.

Yêu cầu mã ứng dụng OAuth 2.0 trong Google API Console

Hãy làm theo các bước sau để tạo hoặc sửa đổi một dự án cho ứng dụng của bạn trong Google API Console, bật Fitness API và yêu cầu mã ứng dụng OAuth 2.0.

Nếu bạn muốn được hướng dẫn trong suốt quá trình này và tự động kích hoạt Fitness API, hãy nhấp vào

Lấy mã ứng dụng khách

Ngoài ra, hãy làm theo các bước sau để bật Fitness API trong Google API Console và nhận mã ứng dụng OAuth 2.0.

  1. Chuyển đến Google API Console.
  2. Chọn một dự án hoặc tạo một dự án mới. Sử dụng cùng một dự án cho các phiên bản Android và REST của ứng dụng.
  3. Nhấp vào Tiếp tục để bật Fitness API.
  4. Nhấp vào Chuyển đến phần thông tin đăng nhập.
  5. Nhấp vào Thông tin đăng nhập mới, rồi chọn Mã ứng dụng OAuth.
  6. Trong mục Loại ứng dụng, hãy chọn Android.
  7. Trong hộp thoại xuất hiện, hãy nhập dấu vân tay SHA-1 và tên gói của ứng dụng. Ví dụ:

    BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75

    com.example.android.fit-example

  8. Nhấp vào Tạo. Mã ứng dụng khách và khoá bí mật OAuth 2.0 mới của Android sẽ xuất hiện trong danh sách mã nhận dạng cho dự án của bạn. Mã ứng dụng khách OAuth 2.0 là một chuỗi ký tự, chẳng hạn như:

    780816631155-gbvyo1o7r2pn95qc4ei9d61io4uh48hl.apps.googleusercontent.com