✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Como fazer upload de vídeo no YouTube no aplicativo Laravel

69

Recentemente, um de nossos leitores perguntou como fazer upload de um vídeo no YouTube a partir do aplicativo Laravel. Eles queriam construir um sistema que pudesse fazer upload de vídeos do YouTube de dentro do aplicativo Laravel. Ao fazer isso, eles não precisam conceder acesso à conta do YouTube aos membros da equipe que gerenciam os vídeos da conta do YouTube.

No passado, escrevi um artigo que explica sobre como fazer upload de vídeo no YouTube usando a API do YouTube em PHP. Neste artigo, veremos como fazer upload de um vídeo no YouTube a partir do aplicativo Laravel.

Registre um aplicativo e obtenha credenciais

Para começar, você precisa ter uma Conta do Google. Na conta do Google, você precisa registrar seu aplicativo e obter as chaves de API.

Abaixo estão as etapas para registrar um aplicativo e obter as chaves de API.

  • Vá para o Google Developer Console https://console.developers.google.com.
  • Crie um novo projeto. Você também pode selecionar um projeto existente.
  • Digite um nome para o seu projeto. O console do Google criará um ID de projeto exclusivo para você.
  • Ao criar um projeto, ele aparecerá no topo da barra lateral esquerda.
  • Clique em Biblioteca no menu esquerdo. Você verá uma lista de APIs do Google. Ative a API de dados do YouTube.
  • A seguir, no menu esquerdo, clique em Credenciais. Selecione o ID do cliente Oauth em Criar credenciais. Escolha o botão de opção para Web Application.
  • Dê o nome. Em Origens JavaScript autorizadas, insira o URL do seu domínio. Em URIs de redirecionamento autorizados, adicione o link do URL de redirecionamento como http: // localhost: 8000 / youtube / callback. Estou passando meu URL local aqui. Você deve ajustar este URL com o seu domínio.
  • Por fim, clique no botão Criar. Você obterá um ID de cliente e um segredo do cliente no pop-up. Copie esses detalhes. Iremos exigir isso em breve.

Instalar e configurar a biblioteca GitHub

Depois de criar o aplicativo, a próxima coisa a fazer é instalar a biblioteca joedawson / youtube. Para a instalação desta biblioteca, abra o terminal no diretório raiz do seu projeto e execute o comando:

composer require dawson/youtube

Depois de instalar a biblioteca, você deve registrar o provedor de serviços e os aliases no config/app.phparquivo.

config / app.php

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

Em seguida, publique as youtube.phpmigrações e usando o comando abaixo:

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

O comando acima move o arquivo youtube.phppara a pasta ‘config’ e o arquivo de migração para a pasta ‘banco de dados / migrações’. Agora, você precisa executar o comando de migração que criará uma tabela de youtube_access_tokenstabela no banco de dados.

php artisan migrate

Esta tabela armazenaria o token de acesso e o token de atualização após autorizar a conta do YouTube. O access_token é necessário quando você interage com a API do YouTube. O token de acesso atua como um identificador para sua conta do YouTube. O token de acesso tem um curto período de vida, portanto, para obter o novo token de acesso, esta biblioteca usa um token de atualização. Você não precisa se preocupar em inserir esses tokens em uma tabela. A biblioteca fará isso em segundo plano.

Copiamos as credenciais da API que precisam ser colocadas dentro do aplicativo Laravel. Abra o .envarquivo e adicione seu ID de cliente e segredo do cliente da seguinte maneira:

GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=

Se você estiver fazendo alguma alteração no arquivo de ambiente, deverá limpar a configuração usando o comando:

php artisan config:clear

Autorização de conta do Google

Por razões de segurança, as rotas para autorizar a conta do YouTube com seu aplicativo Laravel estão desabilitadas por padrão. Você precisará habilitá-lo em seu config/youtube.php. Abra o config/youtube.phpe habilite-o apenas substituindo o valor falso por verdadeiro.

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

Agora você pode autorizar sua conta usando o URL YOUR_DOMAIN_URL / youtube / auth no navegador. Ele irá redirecionar para a página de login do Google para autenticar sua conta. Conclua o processo. Com a autenticação bem-sucedida, você redirecionará de volta para seu aplicativo Laravel. Verifique a youtube_access_tokenstabela e você verá os tokens inseridos na coluna ‘access_token’. Este é um processo único. A biblioteca irá gerar access_token automaticamente em segundo plano, mesmo que tenha expirado. O usuário não precisa autorizar sua conta novamente.

Carregar vídeo na conta do YouTube no aplicativo Laravel

Neste estágio, você está pronto com o token de acesso. Agora crie um formulário para navegar no arquivo de vídeo e enviá-lo ao YouTube. Vamos criar um controlador executando o comando abaixo.

php artisan make:controller VideoController --resource

Defina as rotas VideoControllercomo segue.

rotas / web.php

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

Crie uma visualização resources/views/video.blade.phpe adicione o código abaixo nela.

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

Chame este arquivo de visão do indexmétodo do nosso controlador.

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

Agora, quando você visitar YOUR_DOMAIN_URL / video, verá um formulário que contém entrada de arquivo, título, descrição e botão de envio.

Para chamar a API do YouTube, adicione uma classe do YouTube em um controlador. E no storemétodo, escreva o código para enviar um vídeo no YouTube da seguinte maneira.

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

Aqui estamos passando um arquivo de vídeo, título e descrição de nosso formulário. Este código simplesmente carrega seu vídeo no YouTube e imprime a id do vídeo do YouTube.

Espero que você entenda como fazer upload de um vídeo no YouTube no aplicativo Laravel. O usuário também pode atualizar e excluir os vídeos usando o código fornecido pela biblioteca. Você pode ler mais sobre isso em sua documentação.

Artigos relacionados

Fonte de gravação: artisansweb.net

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação