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.
PHP >= 7.1 Laravel 5.x
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
Abra o arquivo config/app.php
e adicione no array providers
a seguinte instrução:
Laravel\Youtube\YoutubeServiceProvider::class
Em seu arquivo config/app.php
adicione no array aliases
a seguinte instrução:
Youtube => Laravel\Youtube\Facades\Youtube::class
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]
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
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
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 videotags
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()];
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 videotags
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();
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];
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];
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];
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];
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");
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.
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.