Implementare l'autenticazione OAuth 2.0

YouTube Live Streaming API supporta il protocollo OAuth 2.0 per autorizzare l'accesso ai dati utente privati. Nell'elenco che segue vengono spiegati alcuni concetti fondamentali di OAuth 2.0:

  • La prima volta che un utente tenta di utilizzare la funzionalità della tua applicazione che richiede l'accesso a Google Account or YouTube account, viene avviata la procedura di autorizzazione OAuth 2.0.

  • La tua applicazione indirizza l'utente al server di autorizzazione di Google. Il link a questa pagina specifica il scope di accesso che la tua applicazione richiede per l'account dell'utente. scope specifica le risorse che l'applicazione può recuperare, inserire, aggiornare o eliminare quando agisce come utente autenticato.

  • Se l'utente dà il consenso per autorizzare la tua applicazione ad accedere a tali risorse, Google restituisce un token alla tua applicazione. A seconda del tipo di applicazione, convalida il token o lo scambia con un tipo diverso di token.

    Ad esempio, un'applicazione web lato server scambia il token restituito con un token di accesso e un token di aggiornamento. Il token di accesso consente all'applicazione di autorizzare le richieste per conto dell'utente e il token di aggiornamento consente all'applicazione di recuperare un nuovo token di accesso alla scadenza del token di accesso originale.

Importante: è necessario ottenere le credenziali di autorizzazione in Google API Console per poter utilizzare l'autorizzazione OAuth 2.0.

Nota: un canale deve essere approvato per l'utilizzo della funzionalità YouTube Live, che consente al proprietario del canale di trasmettere in streaming contenuti dal vivo su quel canale. Se invii richieste API per conto di un utente autenticato il cui canale non è abilitato o idoneo per lo streaming di contenuti dal vivo, l'API restituirà un errore insufficientPermissions.

Flussi OAuth 2.0

Le API di Google supportano diversi casi d'uso di OAuth 2.0:

  • Il flusso delle app web lato server supporta le applicazioni web che possono archiviare in modo sicuro informazioni permanenti.
  • Il flusso delle app web JavaScript supporta le applicazioni JavaScript in esecuzione in un browser.
  • Il flusso delle app mobile e desktop supporta le applicazioni installate su un dispositivo, ad esempio un telefono o un computer.
  • Il flusso di TV e dispositivi di input limitati supporta dispositivi con funzionalità di input limitate, come console per videogiochi e videocamere.
  • Il flusso OAuth 2.0 per l'account di servizio supporta le interazioni server-server che non accedono alle informazioni degli utenti. Tuttavia, YouTube Live Streaming API non supporta questo flusso. 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.