Usa OAuth 2.0 para cuentas de servicio

Nota: La API de Content ID de YouTube se diseñó para que la usen los socios de contenido de YouTube, por lo que no todos los desarrolladores ni todos los usuarios de YouTube pueden acceder a ella. Si la API de Content ID de YouTube no aparece como uno de los servicios enumerados en la Consola de API de Google, consulta el Centro de ayuda de YouTube para obtener más información sobre el Programa de socios de YouTube.

Información general

Una cuenta de servicio es una Cuenta de Google que puede usarse para autorizar llamadas a la API sin ninguna interacción del usuario. A diferencia de los otros flujos de OAuth 2.0, la autenticación y autorización del acceso con el flujo de OAuth 2.0 para cuentas de servicio no se lleva a cabo en un navegador web. En cambio, OAuth 2.0 para cuentas de servicio se basa en firmas criptográficas para autorizar el acceso. Siempre que tu código tenga acceso a la clave criptográfica subyacente, podrá seguir realizando llamadas a la API sin preocuparte por los tokens de acceso y actualización. Es perfecta para las aplicaciones automatizadas que se ejecutan en servidores sin intervención humana.

Ahora puedes utilizar OAuth 2.0 para el flujo de cuentas de servicio a fin de autorizar solicitudes de la API de Content ID de YouTube. También puedes utilizar este flujo para autorizar las llamadas de la API de datos de YouTube y de la API de YouTube Analytics a los métodos que admiten parámetros de delegación. En todos estos casos, una aplicación que utiliza este flujo autoriza la solicitud de la API como socio de contenido de YouTube (con una cuenta de CMS de YouTube) en lugar de como propietario de un canal de YouTube.

Configura tu cuenta de servicio

Las siguientes capturas de pantalla muestran el proceso de creación de una cuenta de servicio asociada con tu proyecto de API, el cual debes asegurarte de que ya tiene habilitadas las API adecuadas (YouTube Data API v3, YouTube Analytics API, YouTube Content ID API, etc.).

  1. Visita https://cloud.google.com/console y elige tu proyecto de API existente (o crea uno nuevo).
  2. En la barra lateral izquierda, selecciona API y autenticación.
  3. Asegúrate de que la API de Content ID de YouTube esté activada para tu proyecto.
  4. En la barra lateral izquierda, selecciona Credenciales.
  5. Haz clic en el botón Crear nuevo ID de cliente.
  6. Elige Cuenta de servicio entre las opciones de la lista y haz clic en Crear ID de cliente. La clave privada de tu cuenta de servicio se descargará en tu máquina. Esta es la única copia de la clave, y debes guardarla en una ubicación segura desde la que tu aplicación pueda leerla.
  7. Toma nota de la dirección de correo electrónico de la cuenta de servicio. (La dirección de correo electrónico aparece en la página Credenciales). Necesitarás la dirección para que tu cuenta de servicio pueda acceder a tu cuenta del CMS de YouTube.
  8. Visita https://www.youtube.com/content_owner_users y haz clic en el botón Usuario nuevo.
  9. Ingresa la dirección de correo electrónico de la cuenta de servicio del paso 7 en el campo Dirección de correo electrónico y elige el rol adecuado para el usuario. Luego, haz clic en el botón Invitar.
  10. Tu cuenta de servicio acepta la invitación automáticamente y, posteriormente, esa cuenta puede acceder a las APIs de YouTube actuando en nombre de tu cuenta de CMS de YouTube.
  11. Sigue las instrucciones del flujo de la cuenta de servicio de OAuth 2.0 en la guía de autorización de solicitudes para autorizar solicitudes con tu cuenta de servicio.

Realiza llamadas a la API

La mayoría de las bibliotecas cliente de lenguajes tienen compatibilidad nativa con OAuth 2.0 para el flujo de cuentas de servicio. Debes poder seguir los ejemplos de la documentación de la biblioteca para realizar la autorización básica con los alcances adecuados de la API de YouTube.

Lo más importante es tener en cuenta que debes usar los parámetros de delegación adecuados para actuar en nombre de un canal determinado vinculado a tu cuenta del CMS. Para ver una lista de canales vinculados a tu cuenta de CMS, visita https://cms.youtube.com/edit_user_accounts.