laravel-youtube maintained by michael
Laravel YouTube - 0.0.26

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 videodescription- descrição do videotagscategory_id- Em qual categoria o seu video será colocado.- E por último a
privacidadedo 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 videodescription- descrição do videotagscategory_id- Em qual categoria o seu video será colocado.- E por último a
privacidadedo 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á buscadomaxResults- 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 inicioData de TerminoTitulo 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.