✅ Noticias, temas, complementos de WEB y WordPress. Aquí compartimos consejos y las mejores soluciones para sitios web.

Cómo cargar videos en YouTube en la aplicación Laravel

493

Recientemente, uno de nuestros lectores preguntó cómo subir un video en YouTube desde la aplicación Laravel. Querían construir un sistema que pudiera cargar videos de YouTube desde la aplicación Laravel. Al hacerlo, no necesitan dar acceso a su cuenta de YouTube a los miembros del equipo que administran los videos de la cuenta de YouTube.

En el pasado, escribí un artículo que explica cómo cargar videos en YouTube usando la API de YouTube en PHP. En este artículo veremos cómo subir un video en YouTube desde la aplicación Laravel.

Registre una aplicación y obtenga credenciales

Para comenzar, debe tener una cuenta de Google. En la cuenta de Google, debe registrar su aplicación y obtener las claves API.

A continuación se muestran los pasos para registrar una aplicación y obtener las claves API.

  • Vaya a la Consola para desarrolladores de Google https://console.developers.google.com.
  • Crea un nuevo proyecto. También puede seleccionar un proyecto existente.
  • Escriba un nombre de su proyecto. Google Console creará un ID de proyecto único para usted.
  • Al crear un proyecto, aparecerá en la parte superior de la barra lateral izquierda.
  • Haga clic en Biblioteca en el menú de la izquierda. Verá una lista de API de Google. Habilite la API de datos de YouTube.
  • A continuación, en el menú de la izquierda, haga clic en Credenciales. Seleccione ID de cliente de Oauth en Crear credenciales. Elija el botón de opción para la aplicación web.
  • Dar el nombre. En Orígenes de JavaScript autorizados, ingrese la URL de su dominio. En los URI de redireccionamiento autorizados, agregue el enlace de la URL de redireccionamiento como http: // localhost: 8000 / youtube / callback. Estoy pasando mi URL local aquí. Debe ajustar esta URL con su dominio.
  • Finalmente, haga clic en el botón Crear. Obtendrá una identificación de cliente y un secreto de cliente en la ventana emergente. Copie estos detalles. Lo necesitaremos pronto.

Instalar y configurar la biblioteca de GitHub

Una vez que haya creado la aplicación, lo siguiente que debe hacer es instalar la biblioteca joedawson / youtube. Para la instalación de esta biblioteca, abra la terminal en el directorio raíz de su proyecto y ejecute el comando:

composer require dawson/youtube

Después de instalar la biblioteca, debe registrar el proveedor de servicios y los alias en el config/app.phparchivo.

config / app.php

....
'providers' => [
    ...
    DawsonYoutubeYoutubeServiceProvider::class,
],
....
'aliases' => [
    ...
    'Youtube' => DawsonYoutubeFacadesYoutube::class,
],

A continuación, publique las youtube.phpmigraciones y utilizando el siguiente comando:

php artisan vendor:publish --provider="DawsonYoutubeYoutubeServiceProvider"

El comando anterior mueve el archivo a la carpeta youtube.php‘config’ y el archivo de migración a la carpeta ‘base de datos / migraciones’. Ahora, debe ejecutar el comando de migración que creará una youtube_access_tokenstabla en la base de datos.

php artisan migrate

Esta tabla almacenaría el token de acceso y el token de actualización después de autorizar la cuenta de YouTube. El access_token es necesario cuando interactúas con la API de YouTube. El token de acceso actúa como un identificador de su cuenta de YouTube. El token de acceso tiene una vida útil corta, por lo que para obtener el nuevo token de acceso, esta biblioteca usa un token de actualización. No necesita preocuparse por insertar estos tokens en una tabla. La biblioteca lo hará en segundo plano.

Hemos copiado las credenciales de la API que deben colocarse dentro de la aplicación Laravel. Abra el .envarchivo y agregue su ID de cliente y su secreto de cliente de la siguiente manera:

GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=

Si está realizando algún cambio en el archivo de entorno, debe borrar la configuración con el comando:

php artisan config:clear

Autorización de la cuenta de Google

Por razones de seguridad, las rutas para autorizar la cuenta de YouTube con su aplicación Laravel están deshabilitadas por defecto. Deberá habilitarlo desde su config/youtube.php. Abra config/youtube.phpy habilítelo simplemente reemplazando el valor falso con verdadero.

...
'enabled' => true, //set it to 'false' after authorization

Ahora puede autorizar su cuenta usando la URL YOUR_DOMAIN_URL / youtube / auth en el navegador. Redirigirá a la página de inicio de sesión de Google para autenticar su cuenta. Completa el proceso. Una vez que la autenticación se haya realizado correctamente, lo redireccionará a su aplicación Laravel. Consulte la youtube_access_tokenstabla y debería ver los tokens insertados en la columna ‘access_token’. Este es un proceso de una sola vez. La biblioteca generará automáticamente access_token en segundo plano incluso si está vencido. El usuario no necesita autorizar su cuenta nuevamente.

Cargar video en la cuenta de YouTube en la aplicación Laravel

En esta etapa, está listo con el token de acceso. Ahora cree un formulario para buscar el archivo de video y enviarlo a YouTube. Creemos un controlador ejecutando el siguiente comando.

php artisan make:controller VideoController --resource

Defina las rutas de la VideoControllersiguiente manera.

rutas / web.php

<?php
...
Route::resource('video', 'VideoController');

Cree una vista resources/views/video.blade.phpy agregue el siguiente código en ella.

<form action="{{ url('video') }}" method="post" enctype="multipart/form-data">
    <p><input type="text" name="title" placeholder="Enter Video Title" /></p>
    <p><textarea name="description" cols="30" rows="10" placeholder="Video description"></textarea></p>
    <p><input type="file" name="video" /></p>
    <button type="submit" class="btn btn-default">Submit</button>
    {{ csrf_field() }}
</form>

Llame a este archivo de vista desde el indexmétodo de nuestro controlador.

public function index()
{
    return view('video');
}

Ahora, cuando visite YOUR_DOMAIN_URL / video, verá un formulario que contiene la entrada de archivo, título, descripción y botón de envío.

Para llamar a la API de YouTube, agregue una clase de YouTube en un controlador. Y en el storemétodo escriba el código para cargar un video en YouTube de la siguiente manera.

<?php
 
namespace AppHttpControllers;
 
use IlluminateHttpRequest;
use Youtube;
 
class VideoController extends Controller
{
    ....
    public function store(Request $request)
    {
        $video = Youtube::upload($request->file('video')->getPathName(), [
            'title'       => $request->input('title'),
            'description' => $request->input('description')
        ]);
 
        return "Video uploaded successfully. Video ID is ". $video->getVideoId();
    }
}

Aquí estamos pasando un archivo de video, título y descripción de nuestro formulario. Este código simplemente carga su video en YouTube e imprime la identificación del video de YouTube.

Espero que entiendas cómo cargar un video en YouTube en la aplicación Laravel. El usuario también puede actualizar y eliminar los videos usando el código provisto por la biblioteca. Puede leer más sobre esto en su documentación.

Artículos relacionados

Fuente de grabación: artisansweb.net

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More