Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

110
Vistas
Acceso a la API de datos de YouTube sin intervención del usuario

Estoy codificando un sitio web de música que permite al usuario crear listas de YouTube.

Mi primer intento ha sido con JS:

https://developers.google.com/youtube/v3/code_samples/javascript

El proceso implica una autorización inicial, como puedes ver en este fragmento de HTML:

 <div id="login-container" class="pre-auth"> This application requires access to your YouTube account. Please <a href="#" id="login-link">authorize</a> to continue. </div>

Una vez que hace clic en el enlace, se muestra un modal como este:

Modal

Así que tienes que elegir una cuenta propia -que además debe estar incluida en mi perfil de GCP- para crear la lista en el canal de YouTube relacionada con esa cuenta.

Pero esa no es la forma en que quiero que funcione mi sitio web: quiero que todos los usuarios creen todas sus listas en mi canal de YouTube. Y solo en la mía.

Por lo tanto, necesito que cualquier solicitud que reciba la API de mi sitio web se autorice exclusivamente a través de la cuenta de Gmail relacionada con mi canal de YouTube. Además, de esa forma el proceso de autorización se volvería invisible para el usuario, lo cual es una ventaja. Quiero que creen sus listas simplemente haciendo clic en un solo botón en mi sitio web.

Me han sugerido que haga todo esto del lado del servidor -PHP en mi caso- usando una cuenta de servicio, pero leyendo los documentos de la biblioteca encontré esto:

https://github.com/googleapis/google-api-php-client#autenticación-con-cuentas-de-servicio

Algunas API (como la API de datos de YouTube) no admiten cuentas de servicio.

Entonces... ¿Tengo alguna otra opción para automatizar el proceso de autorización?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Pero esa no es la forma en que quiero que funcione mi sitio web: quiero que todos los usuarios creen todas sus listas en mi canal de YouTube. Y solo en la mía.

La actualización de una lista de usuarios requiere el consentimiento del usuario. Si es su canal de YouTube al que desea actualizar las listas, entonces tendrá que autorizar la aplicación.

Lamentablemente, esto no es tan fácil como cabría esperar. Normalmente, con otras Apis de Google, esperaría que haya un tipo de flujo de servidor a servidor. Donde podría predefinir el acceso. Esto se llama una cuenta de servicio.

La API de YouTube no admite la autorización de cuentas de servicio. Deberá usar Oauth2.

Normalmente, con Oauth2 puede solicitar acceso sin conexión. Puede autorizar su aplicación una vez como usted mismo solicitando acceso fuera de línea y obtener algo llamado token de actualización. Este token de actualización se puede usar en una fecha posterior para solicitar un nuevo token de acceso.

Tendrás algunos problemas.

  1. Su aplicación deberá estar fuera de la fase de prueba. De lo contrario, su token de actualización caducará después de siete días y deberá autorizarlo nuevamente.
  2. Es posible que Google también deba verificar su aplicación.

Ahora el problema se convierte en el hecho de que desea usar JavaScript. JavaScript usa algo llamado flujo implicado. Este flujo no devuelve un token de actualización, solo lo hacen los lenguajes de programación del lado del servidor.

Así que la solución sería.

  1. Cambie a un lenguaje de programación del lado del servidor.
  2. Configure su aplicación en producción y no en pruebas.
  3. Ejecute su aplicación una vez y almacene su token de actualización.
  4. Cada vez que el usuario quiera acceder a su cuenta, use el token de actualización para solicitar un nuevo token de acceso.

Si bien esto puede ser un poco confuso, funciona. He implementado algo similar a lo que está haciendo para un cliente hace unos años.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda