Triển khai việc uỷ quyền OAuth 2.0

YouTube Data 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 trong ứng dụng yêu cầu người dùng phải đăng nhập vào Google Account or YouTube account, ứ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: Để sử dụng phương thức Uỷ quyền OAuth 2.0, bạn cần có thông tin uỷ quyền trong Bảng điều khiển API của Google.

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 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.
  • 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 Data 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 a NoLinkedYouTubeAccount error.