Implementacja autoryzacji OAuth 2.0

TenYouTube Reporting API IYouTube Analytics API wspieraćOAuth 2.0 protokół do autoryzacji dostępu do prywatnych danych użytkownika. Poniższa lista wyjaśnia niektóre podstawowe koncepcje 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.

  • Twoja aplikacja kieruje użytkownika do serwera autoryzacyjnego Google. Link do tej strony określa scope dostępu, którego Twoja aplikacja żąda dla 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 Twojej aplikacji do tych zasobów, Google zwróci Twojej aplikacji token. W zależności od typu aplikacji albo weryfikuje token, albo 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 OAuth 2.0:

  • Przepływ aplikacji internetowych po stronie serwera obsługuje aplikacje internetowe, które mogą bezpiecznie przechowywać trwałe informacje.
  • Przepływ aplikacji internetowych JavaScript obsługuje aplikacje JavaScript działające w przeglądarce.
  • Przepływ aplikacji mobilnych i komputerowych obsługuje aplikacje zainstalowane na urządzeniu, takim jak telefon lub komputer.
  • 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 API i YouTube Analytics API nie obsługują tego przepływu. 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, określ zakresy, 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.