Implementacja autoryzacji OAuth 2.0

YouTube Reporting API i YouTube Analytics API obsługują protokół OAuth 2.0 na potrzeby autoryzowania dostępu do prywatnych danych użytkowników. Poniższa lista wyjaśnia niektóre z podstawowych pojęć związanych z OAuth 2.0:

  • Gdy użytkownik po raz pierwszy spróbuje użyć w Twojej aplikacji funkcji, która wymaga zalogowania się w systemie Google Account or YouTube account, aplikacja inicjuje proces autoryzacji OAuth 2.0.

  • Twoja aplikacja kieruje użytkownika do serwera autoryzacji Google. Link do tej strony określa scope uprawnień dostępu do konta użytkownika, o jakie prosi aplikacja. 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 dostęp aplikacji do tych zasobów, Google zwróci jej token. W zależności od typu aplikacji sprawdza ona token lub wymienia go na inny typ.

    Na przykład aplikacja internetowa po stronie serwera wymienia zwrócony token dla tokena dostępu i tokena odświeżania. Token dostępu pozwala aplikacji autoryzować żądania w imieniu użytkownika, a token odświeżania umożliwia aplikacji pobranie nowego tokena dostępu po wygaśnięciu oryginalnego tokena dostępu.

Ważne: aby korzystać z autoryzacji OAuth 2.0, musisz uzyskać dane uwierzytelniające w konsoli interfejsów API Google.

Przepływy OAuth 2.0

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

  • Proces aplikacji internetowych po stronie serwera obsługuje aplikacje internetowe, które mogą bezpiecznie przechowywać trwałe informacje.
  • Proces aplikacji internetowych JavaScript obsługuje aplikacje JavaScript działające w przeglądarce.
  • Proces aplikacji mobilnych i komputerowych obsługuje aplikacje zainstalowane na urządzeniu, np. na telefonie czy komputerze.
  • Protokół OAuth 2.0 na telewizorach i urządzeniach z ograniczonym dostępem obsługuje urządzenia o ograniczonych możliwościach wprowadzania danych, takie jak konsole do gier czy kamery wideo. The YouTube Reporting and YouTube Analytics APIs do not currently support the OAuth 2.0 flow for devices.
  • Proces OAuth 2.0 na koncie usługi obsługuje interakcje między serwerami, które nie mają dostępu do informacji o użytkowniku. YouTube Reporting API i YouTube Analytics API nie obsługują jednak 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 pozwalają aplikacji prosić o dostęp tylko do zasobów, których potrzebuje, a jednocześnie pozwalają użytkownikom kontrolować zakres dostępu, który przyznają aplikacji. Dlatego może występować 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 aplikacja będzie potrzebować uprawnień dostępu.

Interfejs YouTube Analytics API używa tych zakresów:

Zakresy
https://www.googleapis.com/auth/youtube Zarządzaj swoim kontem YouTube
https://www.googleapis.com/auth/youtube.readonly Wyświetl swoje konto YouTube
https://www.googleapis.com/auth/youtubepartner Wyświetlaj swoje zasoby i powiązane treści w YouTube oraz zarządzaj nimi
https://www.googleapis.com/auth/yt-analytics-monetary.readonly Wyświetlaj finansowe i niepieniężne raporty YouTube Analytics dotyczące treści w YouTube
https://www.googleapis.com/auth/yt-analytics.readonly Wyświetlaj raporty YouTube Analytics dotyczące swoich treści w YouTube

Interfejs YouTube Reporting API używa tych zakresów:

Zakresy
https://www.googleapis.com/auth/yt-analytics-monetary.readonly Wyświetlaj finansowe i niepieniężne raporty YouTube Analytics dotyczące treści w YouTube
https://www.googleapis.com/auth/yt-analytics.readonly Wyświetlaj raporty YouTube Analytics dotyczące swoich 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.