michael / laravel-youtube
Biblioteca de integração com o YouTube
Requires
- php: ^7.0
- google/apiclient: ^2.2
- illuminate/support: ^5.8
- nesbot/carbon: 2.17.1
Requires (Dev)
- phpunit/phpunit: ^7.5
- vlucas/phpdotenv: ^3.3
Suggests
- michael/laravel-youtube: Attention if your video is large, probably, you will have increase your timeout in your web server. In order not to have problem of time out in your web server.
README
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 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()];
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 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();
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 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.