YouTube Data API es compatible con el protocolo OAuth 2.0 para autorizar el acceso a los datos privados del usuario. En esta lista se explican algunos conceptos esenciales de OAuth 2.0:
-
Cuando un usuario intenta utilizar por primera vez una funcionalidad de la aplicación que requiere el acceso a una Google Account or YouTube account, la 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 la página especifica el
scope
de acceso que la aplicación solicita para la cuenta del usuario. Elscope
especifica los recursos que la aplicación puede obtener, insertar, actualizar o suprimir al actuar 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: Se debe registrar la aplicación en Google para poder utilizar la autorización de OAuth 2.0.
Flujos de OAuth 2.0
Las API de Google admiten diversos casos de uso de OAuth 2.0:
- El flujo de servidor es compatible con las aplicaciones web que pueden almacenar información persistente de forma segura.
- El flujo de cliente es compatible con las aplicaciones de JavaScript activas en un navegador.
- El flujo de aplicación instalada es compatible con las aplicaciones instaladas en un dispositivo, como un teléfono o una computadora.
- El flujo de dispositivo es compatible con dispositivos con capacidades limitadas de entrada, tales como consolas de juegos y cámaras de video.
- El flujo de la cuenta de servicio es compatible con las interacciones servidor a servidor que no tienen acceso a la información del usuario. Sin embargo, la YouTube Data API no es compatible con 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.