Skip to content

michaeldouglas/laravel-youtube

Repository files navigation

Laravel YouTube - 0.0.26

Latest Stable Version Total Downloads License Maintainability Build Status

Laravel YouTube

Atention: Documentation in english please click for here

O laravel-youtube consome a API do YouTube e prove uma forma simples de gerar e manipular seus videos no YouTube.

Também é capaz de devolver estatísticas, relatórios relacionados aos seus vídeos no YouTube e criar o RTMP e chave de transmissão para uma transmissão ao vivo.

Compatibilidade

PHP >= 7.1 Laravel 5.x

Instalação

Abra o arquivo composer.json e insira a seguinte instrução:

 "require": {
     "michael/laravel-youtube": "0.0.21"
 }

Após inserir no require a Laravel YouTube, você deverá executar o comando:

composer update

Ou execute o comando:

composer require michael/laravel-youtube

Configuração do Service Provider

Abra o arquivo config/app.php e adicione no array providers a seguinte instrução:

Laravel\Youtube\YoutubeServiceProvider::class

Aliases do package

Em seu arquivo config/app.php adicione no array aliases a seguinte instrução:

Youtube => Laravel\Youtube\Facades\Youtube::class

Criação do configurador

Agora você irá executar o comando:

php artisan vendor:publish --provider="Laravel\Youtube\YoutubeServiceProvider"

Se tudo ocorreu bem, a seguinte mensagem sera exibida:

Copied File [/vendor/michael/laravel-youtube/config/youtube.php] To [/config/youtube.php]

Lista de categoria YouTube

Caso você precise, a lista de categorias do YouTube é essa:

1 Film & Animation - File e animação 2 Autos & Vehicles - Automóveis 10 Music - Música 15 Pets & Animals - Animais 17 Sports - Esportes 19 Travel & Events - Viagens e eventos 20 Gaming - Jogos 22 People & Blogs - Pessoas e blogs 23 Comedy - Comédia 24 Entertainment - Entretenimento 25 News & Politics - Notícias e política 26 How-to & Style - Instruções e estilo 27 Education - Educação 28 Science & Technology - Ciência e tecnologia 29 Non-profits & Activism - Sem fins lucrativos e ativismo

Criação da tabela de tokens do YouTube

Atenção: Essa tabela é essencial para o funcionamento da biblioteca pois com ela a laravel-youtube será capaz de armazenar os tokens retornados do Google.

Caso você prefira criar a tabela de tokens sem utilizar as migrações do Laravel, segue o SQL:

CREATE TABLE `direct`.`youtubeTokens` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `access_token` TEXT NOT NULL,
  `created_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` TIMESTAMP NULL DEFAULT NULL,
  `deleted_at` TIMESTAMP NULL DEFAULT NULL,
  PRIMARY KEY (`id`));

Ou você pode executar a migração que o projeto irá instalar e para isso basta executar:

php artisan migrate

Subir video no YouTube

Atenção: Se o video for muito grande, provavelmente, você terá que aumentar o tempo limite do seu servidor, para que não seja mostrado erro de TimeOut!

Para subir o video para o YouTube basta que você diga para a Laravel YouTube onde o video encontra-se e também fornecer os parâmetros:

  • title - Título do video
  • description - descrição do video
  • tags
  • category_id - Em qual categoria o seu video será colocado.
  • E por último a privacidade do video

Veja a seguir um exemplo de como subir um video para o YouTube:

<?php

$path = public_path().'/video/video.mp4';

$video = YouTube::uploadVideo($path, [
    'title'       => 'Laravel YouTube',
    'description' => 'Laravel YouTube',
    'tags'	  => ['laravel', 'laravel-youtube', 'php', 'package'],
    'category_id' => 10
], 'public');

return ["idVideo" => $video->getIdVideo(), "details" => $video->getSnippet()];

Atualizar video no YouTube

A atualização é bem simples e os parâmetros para atualização serão parecidos com os de subir o video:

  • title - Título do video
  • description - descrição do video
  • tags
  • category_id - Em qual categoria o seu video será colocado.
  • E por último a privacidade do video

Veja a seguir um exemplo de como editar um video no YouTube:

<?php

$id = "ID DO VIDEO";
$video = YouTube::updateVideo($id, [
    'title'       => 'Laravel YouTube',
    'description' => 'Laravel YouTube',
    'tags'	  => ['laravel', 'laravel-youtube', 'php', 'package'],
    'category_id' => 23
], 'public');

return $video->getDataUpdate();

Verificar se o video existe

Para verificar se um video existe, basta, fornecer o id dele para o método checkExistVideo(), da seguinte maneira:

<?php

$id = "O ID DO VIDEO";
$existVideo = YouTube::checkExistVideo($id);

return ['status' => $existVideo];

Obter detalhes do video

Para obter detalhes de um video, basta, fornecer o id dele para o método checkExistVideo(), da seguinte maneira:

<?php

$id = "O ID DO VIDEO";
$existVideo = YouTube::getDetailsVideo($id);

return ["details" => $detailsVideo];

Excluir video

A operação para excluir um video é bem simples basta fornecer o identificador do video e chamar o método excluir().

Veja a seguir um exemplo:

<?php

$id = "O ID DO VIDEO";
$video = YouTube::delete($id);

return ["excluir" => $video];

Procurar videos

Para realizar busca de videos no YouTube você pode utilizar o método: search() e passar dois parâmetros, que serão:

  • Query - Termo que será buscado
  • maxResults - máximo de resultados

O método search() irá retornar:

  • Videos que batém com o termo
  • playlist que batém com o termo
  • canais - que batém com o termo

Veja a seguir um exemplo de uso:

<?php

$result = YouTube::search('TERMO BUSCADO', 'MAXIMO DE RESULTADOS');

return ['lista' => $result];

Criação de eventos Ao Vivo

Para criar um evento Ao Vivo, basta chamado o método createEventRTMP() e fornecer os parâmetros:

  • Data de inicio
  • Data de Termino
  • Titulo do video
  • opcional: Privacidade - O default da privacidade é: unlisted
  • opcional: Linguagem - O default da linguagem é: Portuguese (Brazil)
  • opcional: Tags - O default da tags é: michael,laravel-youtube

Exemplo de uso:

<?php

YouTube::createEventRTMP("2019-05-13 22:00:00", "2019-05-13 23:00:00", "Evento teste");

Valores opcionais

Exemplo de uso com os valores opcionais:

<?php

YouTube::createEventRTMP("2019-05-13 22:00:00", "2019-05-13 23:00:00", "Evento teste", "unlisted", "Portuguese (Brazil)", "michael,laravel-youtube");

Caso a criação seja feita com sucesso você terá como retorno um Json com todos os valores do evento.

Lista de eventos Ao Vivo

Para listar os eventos Ao Vivo, basta chamar o método listEventsBroadcasts(), da seguinte maneira:

<?php

$video = YouTube::listEventsBroadcasts();

return ["list" => $video];

Caso exista uma lista de videos, então, será retornando um Json com todos os eventos.