Implementacja autoryzacji OAuth 2.0

Usługi YouTube Reporting APIYouTube Analytics API obsługują OAuth 2.0 protokół autoryzacji dostępu do prywatnych danych użytkownika. Na liście poniżej znajdziesz wyjaśnienie niektórych podstawowych pojęć związanych z OAuth 2.0:

  • Gdy użytkownik po raz pierwszy próbuje użyć w aplikacji funkcji, które wymagają zalogowania się na Google Account or YouTube account, aplikacja rozpoczyna proces autoryzacji OAuth 2.0.

  • Aplikacja przekierowuje użytkownika na serwer autoryzacji Google. Link do tej strony określa scope dostępu, o który aplikacja prosi w przypadku konta użytkownika. Parametr scope określa zasoby, które aplikacja może pobierać, wstawiać, aktualizować lub usuwać, gdy działa jako uwierzytelniony użytkownik.

  • Jeśli użytkownik wyrazi zgodę na autoryzację dostępu aplikacji do tych zasobów, Google zwróci token do Twojej aplikacji. W zależności od typu aplikacji weryfikuje ona token lub wymienia go na inny typ tokena.

    Na przykład aplikacja internetowa po stronie serwera wymienia zwrócony token na token dostępu i token odświeżania. Token dostępu umożliwia aplikacji autoryzowanie żądań w imieniu użytkownika, a token odświeżania umożliwia aplikacji pobranie nowego tokena dostępu po wygaśnięciu pierwotnego tokena dostępu.

Ważne: aby używać autoryzacji OAuth 2.0, musisz uzyskać dane logowania w Konsoli interfejsów API Google.

Więcej informacji znajdziesz w przewodniku po autoryzacji OAuth 2.0.

Przepływy OAuth 2.0

Interfejsy API Google obsługują kilka przypadków użycia protokołu OAuth 2.0:

  • Przepływ aplikacji internetowych po stronie serwera obsługuje aplikacje internetowe, które mogą bezpiecznie przechowywać trwałe informacje.
  • Proces aplikacji internetowych w JavaScript obsługuje aplikacje w JavaScript działające w przeglądarce.
  • Proces aplikacji mobilnych i na komputery obsługuje aplikacje zainstalowane na urządzeniu, np. telefonie lub komputerze.
  • Protokół OAuth 2.0 dla telewizorów i urządzeń z ograniczoną możliwością wpisywania obsługuje urządzenia z ograniczoną możliwością wpisywania, takie jak konsole do gier i kamery wideo. The YouTube Reporting and YouTube Analytics APIs do not currently support the OAuth 2.0 flow for devices.
  • Proces OAuth 2.0 dla konta usługi obsługuje interakcje między serwerami, które nie uzyskują dostępu do informacji o użytkowniku. Jednak YouTube Reporting APIYouTube Analytics API nie obsługują tego procesu. 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.

Określanie zakresów dostępu

Zakresy umożliwiają aplikacji żądanie dostępu tylko do potrzebnych jej zasobów, a użytkownikom – kontrolowanie zakresu dostępu przyznawanego aplikacji. Dlatego może istnieć odwrotna zależność między liczbą żądanych zakresów a prawdopodobieństwem uzyskania zgody użytkownika.

Zanim zaczniesz wdrażać autoryzację OAuth 2.0, zalecamy określenie zakresów, do których Twoja aplikacja będzie potrzebować dostępu.

Interfejs API Statystyk YouTube korzysta z tych zakresów:

Zakres Opis
https://www.googleapis.com/auth/youtube Zarządzanie kontem YouTube
https://www.googleapis.com/auth/youtube.readonly Wyświetlanie konta YouTube
https://www.googleapis.com/auth/youtubepartner Przeglądaj zasoby oraz powiązane treści i zarządzaj nimi w serwisie YouTube
https://www.googleapis.com/auth/yt-analytics-monetary.readonly Wyświetlanie finansowych i niefinansowych raportów Statystyk YouTube dotyczących treści w YouTube
https://www.googleapis.com/auth/yt-analytics.readonly Wyświetlanie raportów Statystyk YouTube dotyczących treści w YouTube

Interfejs YouTube Reporting API korzysta z tych zakresów:

Zakres Opis
https://www.googleapis.com/auth/yt-analytics-monetary.readonly Wyświetlanie finansowych i niefinansowych raportów Statystyk YouTube dotyczących treści w YouTube
https://www.googleapis.com/auth/yt-analytics.readonly Wyświetlanie raportów Statystyk YouTube dotyczących treści w YouTube

Dokument Zakresy interfejsu API OAuth 2.0 zawiera pełną listę zakresów, których możesz używać do uzyskiwania dostępu do interfejsów API Google.