Triển khai uỷ quyền OAuth 2.0

YouTube Reporting APIYouTube Analytics API hỗ trợ giao thức OAuth 2.0 để cho phép truy cập vào dữ liệu riêng tư của người dùng. Danh sách dưới đây giải thích một số khái niệm chính về OAuth 2.0:

  • Khi người dùng lần đầu sử dụng chức năng yêu cầu người dùng phải đăng nhập vào Google Account or YouTube account trong ứng dụng của bạn, ứng dụng của bạn sẽ bắt đầu quy trình uỷ quyền OAuth 2.0.

  • Ứng dụng của bạn sẽ hướng người dùng đến máy chủ uỷ quyền của Google. Liên kết đến trang đó chỉ định scope quyền truy cập mà ứng dụng của bạn đang yêu cầu cho tài khoản của người dùng. scope chỉ định các tài nguyên mà ứng dụng của bạn có thể truy xuất, chèn, cập nhật hoặc xoá khi đóng vai trò là người dùng được xác thực.

  • Nếu người dùng đồng ý cho phép ứng dụng của bạn truy cập vào các tài nguyên đó, Google sẽ trả về một mã thông báo cho ứng dụng của bạn. Tuỳ thuộc vào loại ứng dụng, ứng dụng sẽ xác thực mã thông báo hoặc đổi mã đó lấy một loại mã thông báo khác.

    Ví dụ: một ứng dụng web phía máy chủ sẽ trao đổi mã thông báo được trả về để lấy mã truy cập và mã làm mới. Mã truy cập cho phép ứng dụng thay mặt người dùng cấp quyền cho các yêu cầu, còn mã làm mới cho phép ứng dụng truy xuất mã truy cập mới khi mã truy cập ban đầu hết hạn.

Lưu ý quan trọng: Bạn cần có thông tin uỷ quyền trong Google API Console để có thể sử dụng phương thức uỷ quyền OAuth 2.0.

Quy trình OAuth 2.0

Google API hỗ trợ một số trường hợp sử dụng OAuth 2.0:

  • Quy trình ứng dụng web phía máy chủ hỗ trợ các ứng dụng web có thể lưu trữ thông tin ổn định một cách an toàn.
  • Quy trình Ứng dụng web JavaScript hỗ trợ các ứng dụng JavaScript chạy trong trình duyệt.
  • Quy trình ứng dụng dành cho thiết bị di động và máy tính hỗ trợ các ứng dụng được cài đặt trên thiết bị, chẳng hạn như điện thoại hoặc máy tính.
  • Quy trình OAuth 2.0 cho TV và các thiết bị đầu vào hạn chế hỗ trợ các thiết bị có khả năng đầu vào hạn chế, chẳng hạn như máy chơi trò chơi và máy quay video. The YouTube Reporting and YouTube Analytics APIs do not currently support the OAuth 2.0 flow for devices.
  • Quy trình OAuth 2.0 cho luồng tài khoản dịch vụ hỗ trợ các hoạt động tương tác giữa các máy chủ mà không truy cập vào thông tin người dùng. Tuy nhiên, YouTube Reporting APIYouTube Analytics API không hỗ trợ quy trình này. Since there is no way to link a Service Account to a YouTube account, attempts to authorize requests with this flow will generate an error.

Xác định phạm vi truy cập

Phạm vi cho phép ứng dụng của bạn chỉ yêu cầu quyền truy cập vào các tài nguyên mà ứng dụng cần, đồng thời cho phép người dùng kiểm soát lượng quyền truy cập mà họ cấp cho ứng dụng của bạn. Do đó, có thể có mối quan hệ nghịch đảo giữa số phạm vi được yêu cầu và khả năng có được sự đồng ý của người dùng.

Trước khi bắt đầu triển khai việc uỷ quyền OAuth 2.0, bạn nên xác định các phạm vi mà ứng dụng của bạn sẽ cần có quyền truy cập.

API YouTube Analytics sử dụng các phạm vi sau:

Phạm vi
https://www.googleapis.com/auth/youtube Quản lý tài khoản YouTube của bạn
https://www.googleapis.com/auth/youtube.readonly Xem tài khoản YouTube của bạn
https://www.googleapis.com/auth/youtubepartner Xem và quản lý nội dung cũng như nội dung liên quan của bạn trên YouTube
https://www.googleapis.com/auth/yt-analytics-monetary.readonly Xem báo cáo YouTube Analytics bằng tiền và phi tiền tệ cho nội dung YouTube của bạn
https://www.googleapis.com/auth/yt-analytics.readonly Xem báo cáo YouTube Analytics cho nội dung YouTube của bạn

API Báo cáo của YouTube sử dụng các phạm vi sau:

Phạm vi
https://www.googleapis.com/auth/yt-analytics-monetary.readonly Xem báo cáo YouTube Analytics bằng tiền và phi tiền tệ cho nội dung YouTube của bạn
https://www.googleapis.com/auth/yt-analytics.readonly Xem báo cáo YouTube Analytics cho nội dung YouTube của bạn

Tài liệu về Phạm vi API của OAuth 2.0 chứa danh sách đầy đủ các phạm vi mà bạn có thể dùng để truy cập vào các API của Google.