✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Come caricare video su YouTube nell’applicazione Laravel

27

Recentemente uno dei nostri lettori ha chiesto come caricare un video su YouTube dall’applicazione Laravel. Volevano creare un sistema in grado di caricare i video di YouTube dall’interno dell’applicazione Laravel. In questo modo, non è necessario concedere l’accesso al proprio account YouTube ai membri del team che gestiscono i video per l’account YouTube.

In passato, ho scritto un articolo che spiega come caricare video su YouTube utilizzando l’API di YouTube in PHP. In questo articolo vedremo come caricare un video su YouTube dall’applicazione Laravel.

Registra un’applicazione e ottieni le credenziali

Per iniziare, devi disporre di un account Google. Sull’account Google, devi registrare la tua applicazione e ottenere le chiavi API.

Di seguito sono riportati i passaggi per registrare un’applicazione e acquisire le chiavi API.

  • Vai alla Console per gli sviluppatori di Google https://console.developers.google.com.
  • Crea un nuovo progetto. Puoi anche selezionare un progetto esistente.
  • Digita un nome per il tuo progetto. Google Console creerà per te un ID progetto univoco.
  • Dopo aver creato un progetto, apparirà nella parte superiore della barra laterale sinistra.
  • Fare clic su Libreria dal menu a sinistra. Vedrai un elenco di API di Google. Abilita l’API dei dati di YouTube.
  • Successivamente, dal menu di sinistra, fai clic su Credenziali. Seleziona ID client Oauth in Crea credenziali. Scegli il pulsante di opzione per l’applicazione Web.
  • Dai il nome. In Origini JavaScript autorizzate inserisci l’URL del tuo dominio. Negli URI di reindirizzamento autorizzati aggiungi il link dell’URL di reindirizzamento come http://localhost:8000/youtube/callback. Sto passando il mio URL locale qui. Dovresti modificare questo URL con il tuo dominio.
  • Infine, fai clic sul pulsante Crea. Riceverai un ID cliente e un segreto cliente nel pop-up. Copia questi dettagli. Lo richiederemo presto.

Installa e configura la libreria GitHub

Una volta creata l’applicazione, la prossima cosa da fare è installare joedawson/youtube library. Per l’installazione di questa libreria, apri il terminale nella directory principale del tuo progetto ed esegui il comando:

composer require dawson/youtube

Dopo aver installato la libreria, è necessario registrare il provider di servizi e gli alias nel config/app.phpfile.

config/app.php

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

Quindi, pubblica le youtube.phpmigrazioni e utilizzando il comando seguente:

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

Il comando precedente sposta il file youtube.phpnella cartella "config" e il file di migrazione nella cartella "database/migrazioni". Ora, devi eseguire il comando di migrazione che creerà una tabella youtube_access_tokenstabella nel database.

php artisan migrate

Questa tabella memorizzerà il token di accesso e aggiornerà il token dopo aver autorizzato l’account YouTube. Il token di accesso è necessario quando interagisci con l’API di YouTube. Il token di accesso funge da identificatore per il tuo account YouTube. Il token di accesso ha una durata breve, quindi per ottenere il nuovo token di accesso questa libreria utilizza un token di aggiornamento. Non devi preoccuparti di inserire questi token in una tabella. La libreria lo farà in background.

Abbiamo copiato le credenziali API che devono essere inserite nell’applicazione Laravel. Apri il .envfile e aggiungi l’ID client e il segreto client come segue:

GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=

Se stai apportando modifiche al file di ambiente dovresti cancellare la configurazione usando il comando:

php artisan config:clear

Autorizzazione dell’account Google

Per motivi di sicurezza, i percorsi per autorizzare l’account YouTube con la tua applicazione Laravel sono disabilitati per impostazione predefinita. Dovrai abilitarlo dal tuo config/youtube.php. Apri config/youtube.phpe abilitalo semplicemente sostituendo il valore falso con vero.

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

Ora puoi autorizzare il tuo account utilizzando l’URL YOUR_DOMAIN_URL/youtube/auth nel browser. Verrà reindirizzato alla pagina di accesso di Google per autenticare il tuo account. Completa il processo. In caso di autenticazione riuscita, verrai reindirizzato alla tua applicazione Laravel. Controlla la youtube_access_tokenstabella e dovresti vedere i token inseriti nella colonna ‘access_token’. Questo è un processo una tantum. La libreria genererà automaticamente access_token in background anche se è scaduto. L’utente non ha bisogno di autorizzare nuovamente il proprio account.

Carica video sull’account YouTube nell’applicazione Laravel

A questo punto, sei pronto con il token di accesso. Ora crea un modulo per sfogliare il file video e inviarlo a YouTube. Creiamo un controller eseguendo il comando seguente.

php artisan make:controller VideoController --resource

Definire i percorsi per VideoControllercome segue.

route/web.php

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

Crea una vista resources/views/video.blade.phpe aggiungi il codice seguente al suo interno.

<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>

Chiama questo file di visualizzazione dal indexmetodo del nostro controller.

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

Ora, quando visiti YOUR_DOMAIN_URL/video vedrai un modulo che contiene l’input del file, il titolo, la descrizione e il pulsante di invio.

Per chiamare l’API YouTube, aggiungi una classe YouTube in un controller. E nel storemetodo scrivi il codice per caricare un video su YouTube come segue.

<?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();
    }
}

Qui stiamo passando un file video, titolo e descrizione dal nostro modulo. Questo codice carica semplicemente il tuo video su YouTube e stampa l’ID del video di YouTube.

Spero che tu capisca sul caricamento di un video su YouTube nell’applicazione Laravel. L’utente può anche aggiornare ed eliminare i video utilizzando il codice fornito dalla libreria. Puoi leggere di più a riguardo sulla loro documentazione.

articoli Correlati

Fonte di registrazione: 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