{"id":25540,"date":"2021-06-02T17:13:00","date_gmt":"2021-06-02T14:13:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25540"},"modified":"2021-10-18T03:06:19","modified_gmt":"2021-10-18T00:06:19","slug":"come-caricare-video-su-youtube-nell-applicazione-laravel","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/it\/come-caricare-video-su-youtube-nell-applicazione-laravel\/","title":{"rendered":"Come caricare video su YouTube nell&#8217;applicazione Laravel"},"content":{"rendered":"<p>Recentemente uno dei nostri lettori ha chiesto come caricare un video su YouTube dall&#8217;applicazione Laravel. Volevano creare un sistema in grado di caricare i video di YouTube dall&#8217;interno dell&#8217;applicazione Laravel. In questo modo, non \u00e8 necessario concedere l&#8217;accesso al proprio account YouTube ai membri del team che gestiscono i video per l&#8217;account YouTube.<\/p>\n<p>In passato, ho scritto un articolo che spiega come <a href=\"https:\/\/themewp.inform.click\/it\/come-utilizzare-l-api-di-youtube-per-caricare-video-sul-canale-youtube\/\" title=\"caricare video su YouTube utilizzando l'API di YouTube in PHP\" >caricare video su YouTube utilizzando l&#8217;API di YouTube in PHP<\/a>. In questo articolo vedremo come caricare un video su YouTube dall&#8217;applicazione Laravel.<\/p>\n<h3>Registra un&#8217;applicazione e ottieni le credenziali<\/h3>\n<p>Per iniziare, devi disporre di un account Google. Sull&#8217;account Google, devi registrare la tua applicazione e ottenere le chiavi API.<\/p>\n<p>Di seguito sono riportati i passaggi per registrare un&#8217;applicazione e acquisire le chiavi API.<\/p>\n<ul>\n<li>Vai alla Console per gli sviluppatori di Google <a href=\"https:\/\/console.developers.google.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external\"><\/a><a href=\"https:\/\/console.developers.google.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">https:\/\/console.developers.google.com<\/a>.<\/li>\n<li>Crea un nuovo progetto. Puoi anche selezionare un progetto esistente.<\/li>\n<li>Digita un nome per il tuo progetto. Google Console creer\u00e0 per te un ID progetto univoco.<\/li>\n<li>Dopo aver creato un progetto, apparir\u00e0 nella parte superiore della barra laterale sinistra.<\/li>\n<li>Fare clic su Libreria dal menu a sinistra. Vedrai un elenco di API di Google. Abilita l&#8217;API dei dati di YouTube.<\/li>\n<li>Successivamente, dal menu di sinistra, fai clic su Credenziali. Seleziona ID client Oauth in Crea credenziali. Scegli il pulsante di opzione per l&#8217;applicazione Web.<\/li>\n<li>Dai il nome. In Origini JavaScript autorizzate inserisci l&#8217;URL del tuo dominio. Negli URI di reindirizzamento autorizzati aggiungi il link dell&#8217;URL di reindirizzamento come <a href=\"http:\/\/localhost:8000\/youtube\/callback\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">http:\/\/localhost:8000\/youtube\/callback<\/a>. Sto passando il mio URL locale qui. Dovresti modificare questo URL con il tuo dominio.<\/li>\n<li>Infine, fai clic sul pulsante Crea. Riceverai un ID cliente e un segreto cliente nel pop-up. Copia questi dettagli. Lo richiederemo presto.<\/li>\n<\/ul>\n<h3>Installa e configura la libreria GitHub<\/h3>\n<p>Una volta creata l&#8217;applicazione, la prossima cosa da fare \u00e8 installare <a href=\"https:\/\/github.com\/JoeDawson\/youtube\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">joedawson\/youtube<\/a> library. Per l&#8217;installazione di questa libreria, apri il terminale nella directory principale del tuo progetto ed esegui il comando:<\/p>\n<pre><code>composer require dawson\/youtube<\/code><\/pre>\n<p>Dopo aver installato la libreria, \u00e8 necessario registrare il provider di servizi e gli alias nel <code>config\/app.php<\/code>file.<\/p>\n<p><strong>config\/app.php<\/strong><\/p>\n<pre><code>....\n'providers' =&gt; [\n\u00a0\u00a0\u00a0\u00a0...\n\u00a0\u00a0\u00a0\u00a0DawsonYoutubeYoutubeServiceProvider::class,\n],\n....\n'aliases' =&gt; [\n\u00a0\u00a0\u00a0\u00a0...\n\u00a0\u00a0\u00a0\u00a0'Youtube' =&gt; DawsonYoutubeFacadesYoutube::class,\n],<\/code><\/pre>\n<p>Quindi, pubblica le <code>youtube.php<\/code>migrazioni e utilizzando il comando seguente:<\/p>\n<pre><code>php artisan vendor:publish --provider=\"DawsonYoutubeYoutubeServiceProvider\"<\/code><\/pre>\n<p>Il comando precedente sposta il file <code>youtube.php<\/code>nella cartella &quot;config&quot; e il file di migrazione nella cartella &quot;database\/migrazioni&quot;. Ora, devi eseguire il comando di migrazione che creer\u00e0 una tabella <code>youtube_access_tokens<\/code>tabella nel database.<\/p>\n<pre><code>php artisan migrate<\/code><\/pre>\n<p>Questa tabella memorizzer\u00e0 il token di accesso e aggiorner\u00e0 il token dopo aver autorizzato l&#8217;account YouTube. Il token di accesso \u00e8 necessario quando interagisci con l&#8217;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\u00e0 in background.<\/p>\n<p>Abbiamo copiato le credenziali API che devono essere inserite nell&#8217;applicazione Laravel. Apri il <code>.env<\/code>file e aggiungi l&#8217;ID client e il segreto client come segue:<\/p>\n<pre><code>GOOGLE_CLIENT_ID=\nGOOGLE_CLIENT_SECRET=<\/code><\/pre>\n<p>Se stai apportando modifiche al file di ambiente dovresti cancellare la configurazione usando il comando:<\/p>\n<pre><code>php artisan config:clear<\/code><\/pre>\n<h4>Autorizzazione dell&#8217;account Google<\/h4>\n<p>Per motivi di sicurezza, i percorsi per autorizzare l&#8217;account YouTube con la tua applicazione Laravel sono disabilitati per impostazione predefinita. Dovrai abilitarlo dal tuo <code>config\/youtube.php<\/code>. Apri <code>config\/youtube.php<\/code>e abilitalo semplicemente sostituendo il valore falso con vero.<\/p>\n<pre><code>...\n'enabled' =&gt; true, \/\/set it to 'false' after authorization<\/code><\/pre>\n<p>Ora puoi autorizzare il tuo account utilizzando l&#8217;URL YOUR_DOMAIN_URL\/youtube\/auth nel browser. Verr\u00e0 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 <code>youtube_access_tokens<\/code>tabella e dovresti vedere i token inseriti nella colonna &#8216;access_token&#8217;. Questo \u00e8 un processo una tantum. La libreria generer\u00e0 automaticamente access_token in background anche se \u00e8 scaduto. L&#8217;utente non ha bisogno di autorizzare nuovamente il proprio account.<\/p>\n<h3>Carica video sull&#8217;account YouTube nell&#8217;applicazione Laravel<\/h3>\n<p>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.<\/p>\n<pre><code>php artisan make:controller VideoController --resource<\/code><\/pre>\n<p>Definire i percorsi per <code>VideoController<\/code>come segue.<\/p>\n<p><strong>route\/web.php<\/strong><\/p>\n<pre><code>&lt;?php\n...\nRoute::resource('video', 'VideoController');<\/code><\/pre>\n<p>Crea una vista <code>resources\/views\/video.blade.php<\/code>e aggiungi il codice seguente al suo interno.<\/p>\n<pre><code>&lt;form action=\"{{ url('video') }}\" method=\"post\" enctype=\"multipart\/form-data\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;input type=\"text\" name=\"title\" placeholder=\"Enter Video Title\" \/&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;textarea name=\"description\" cols=\"30\" rows=\"10\" placeholder=\"Video description\"&gt;&lt;\/textarea&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;input type=\"file\" name=\"video\" \/&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;button type=\"submit\" class=\"btn btn-default\"&gt;Submit&lt;\/button&gt;\n\u00a0\u00a0\u00a0\u00a0{{ csrf_field() }}\n&lt;\/form&gt;<\/code><\/pre>\n<p>Chiama questo file di visualizzazione dal <code>index<\/code>metodo del nostro controller.<\/p>\n<pre><code>public function index()\n{\n\u00a0\u00a0\u00a0\u00a0return view('video');\n}<\/code><\/pre>\n<p>Ora, quando visiti YOUR_DOMAIN_URL\/video vedrai un modulo che contiene l&#8217;input del file, il titolo, la descrizione e il pulsante di invio.<\/p>\n<p>Per chiamare l&#8217;API YouTube, aggiungi una classe YouTube in un controller. E nel <code>store<\/code>metodo scrivi il codice per caricare un video su YouTube come segue.<\/p>\n<pre><code>&lt;?php\n\u00a0\nnamespace AppHttpControllers;\n\u00a0\nuse IlluminateHttpRequest;\nuse Youtube;\n\u00a0\nclass VideoController extends Controller\n{\n\u00a0\u00a0\u00a0\u00a0....\n\u00a0\u00a0\u00a0\u00a0public function store(Request $request)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$video = Youtube::upload($request-&gt;file('video')-&gt;getPathName(), [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'title'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 =&gt; $request-&gt;input('title'),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'description' =&gt; $request-&gt;input('description')\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0]);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return \"Video uploaded successfully. Video ID is \". $video-&gt;getVideoId();\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Qui stiamo passando un file video, titolo e descrizione dal nostro modulo. Questo codice carica semplicemente il tuo video su YouTube e stampa l&#8217;ID del video di YouTube.<\/p>\n<p>Spero che tu capisca sul caricamento di un video su YouTube nell&#8217;applicazione Laravel. L&#8217;utente pu\u00f2 anche aggiornare ed eliminare i video utilizzando il codice fornito dalla libreria. Puoi leggere di pi\u00f9 a riguardo sulla loro <a href=\"https:\/\/github.com\/joedawson\/youtube\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">documentazione<\/a>.<\/p>\n<h4>articoli Correlati<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/integrazione-paypal-payments-pro-in-laravel\/\" title=\"Integrazione PayPal Payments Pro in Laravel\">Integrazione PayPal Payments Pro in Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/come-creare-un-blog-con-laravel\/\" title=\"Come creare un blog con Laravel\">Come creare un blog con Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/come-caricare-e-ritagliare-l-immagine-in-laravel-utilizzando-imgareaselect-e-intervention-image-library\/\" title=\"Come caricare e ritagliare immagini in Laravel\">Come caricare e ritagliare immagini in Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vuoi caricare video su YouTube dalla tua applicazione Laravel? In questo articolo, ti mostro come caricare video su YouTube da Laravel<\/p>\n","protected":false},"author":1,"featured_media":20375,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[500],"tags":[846],"class_list":["post-25540","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/25540","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/comments?post=25540"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/25540\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media\/20375"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media?parent=25540"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/categories?post=25540"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/tags?post=25540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}