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 sau đây giải thích một số khái niệm cốt lõi về OAuth 2.0:

  • Khi người dùng lần đầu tiên cố gắng sử dụng các tính năng trong ứng dụng của bạn mà yêu cầu người dùng phải đăng nhập vào một 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 chuyển hướng người dùng đến máy chủ uỷ quyền của Google. Đường 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 đối với tài khoản của người dùng. scope chỉ định những 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 đã xác thực.

  • Nếu người dùng đồng ý uỷ quyền cho ứng dụng của bạn truy cập vào các tài nguyên đó, thì 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 trao đổi mã thông báo đó để 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 uỷ quyền các yêu cầu thay mặt cho người dùng, 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 tính năng Uỷ quyền OAuth 2.0, bạn cần lấy thông tin xác thực uỷ quyền trong Google API Console.

Để biết thêm thông tin chi tiết, hãy xem Hướng dẫn uỷ quyền OAuth 2.0.

Quy trình OAuth 2.0

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

  • Luồng ứ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 lâu dài một cách an toàn.
  • Luồng ứng dụng web JavaScript hỗ trợ các ứng dụng JavaScript chạy trong trình duyệt.
  • Luồng ứng dụng di động và máy tính để bàn 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 dành cho TV và các thiết bị có khả năng nhập liệu hạn chế hỗ trợ các thiết bị có khả năng nhập liệu hạn chế, chẳng hạn như máy chơi game và máy quay video. The YouTube Reporting and YouTube Analytics APIs do not currently support the OAuth 2.0 flow for devices.
  • Luồng OAuth 2.0 dành cho tài khoản dịch vụ hỗ trợ tương tác giữa các máy chủ mà không truy cập 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 những tài nguyên cần thiết, đồng thời cho phép người dùng kiểm soát mức độ 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ố lượng phạm vi được yêu cầu và khả năng nhận được sự đồng ý của người dùng.

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

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

Phạm vi Mô tả
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ý tài sản cũng như nội dung được kết hợp của bạn trên YouTube
https://www.googleapis.com/auth/yt-analytics-monetary.readonly Xem báo cáo của YouTube Analytics về tài chính và phi tài chính cho nội dung trên YouTube
https://www.googleapis.com/auth/yt-analytics.readonly Xem báo cáo Analytics trên YouTube dành cho nội dung YouTube của bạn

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

Phạm vi Mô tả
https://www.googleapis.com/auth/yt-analytics-monetary.readonly Xem báo cáo của YouTube Analytics về tài chính và phi tài chính cho nội dung trên YouTube
https://www.googleapis.com/auth/yt-analytics.readonly Xem báo cáo Analytics trên YouTube dành cho nội dung YouTube của bạn

Tài liệu Phạm vi API 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.