Implementación de la autenticación de OAuth 2.0

La YouTube Live Streaming API admite el protocolo OAuth 2.0 para autorizar el acceso a los datos privados de los usuarios. En la siguiente lista, se explican algunos conceptos básicos de OAuth 2.0:

  • Cuando un usuario intenta usar por primera vez funciones de tu aplicación que requieren que acceda a un Google Account or YouTube account, tu aplicación inicia el proceso de autorización de OAuth 2.0.

  • La aplicación dirige al usuario al servidor de autorización de Google. El vínculo a esa página especifica el scope de acceso que tu aplicación solicita para la cuenta del usuario. El scope especifica los recursos que tu aplicación puede recuperar, insertar, actualizar o borrar cuando actúa como el usuario autenticado.

  • Si el usuario da su consentimiento y autoriza a la aplicación a acceder a esos recursos, Google genera un token para la aplicación. Dependiendo del tipo de aplicación, puede validar el token o cambiarlo por uno de otro tipo.

    Por ejemplo, una aplicación web del servidor cambia el token que se generó por un token de acceso y otro de actualización. El token de acceso permite a la aplicación autorizar solicitudes en nombre del usuario, mientras que el token de actualización permite a la aplicación obtener un nuevo token de acceso cuando el original expire.

Importante: Para usar la autorización de OAuth 2.0, debes obtener credenciales de autorización en la consola de Google Cloud.

Para obtener más información, consulta la Guía de autorización de OAuth 2.0.

Nota: Un canal debe estar aprobado para usar la función de YouTube en vivo, que permite al propietario del canal transmitir contenido en vivo en él. Si envías solicitudes a la API en nombre de un usuario autenticado cuyo canal no está habilitado o no es apto para transmitir contenido en vivo, la API devolverá un error insufficientPermissions.

Flujos de OAuth 2.0

Las APIs de Google admiten varios casos de uso de OAuth 2.0:

  • El flujo de apps web del servidor admite aplicaciones web que pueden almacenar de forma segura información persistente.
  • El flujo de apps web de JavaScript admite aplicaciones JavaScript que se ejecutan en un navegador.
  • El flujo de apps para dispositivos móviles y computadoras admite aplicaciones instaladas en un dispositivo, como un teléfono o una computadora.
  • El flujo de TVs y dispositivos de entrada limitada admite dispositivos con capacidades de entrada limitada, como consolas de juegos y cámaras de video.
  • El flujo de OAuth 2.0 para el flujo de cuentas de servicio admite interacciones de servidor a servidor que no acceden a la información del usuario. Sin embargo, el YouTube Live Streaming API no admite este flujo. 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.