michael/ laravel-youtube
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
注意: 请使用英文文档 Documentation in english please
点击此处
laravel-youtube 消耗 YouTube API 并提供一个简单的方法来生成和操作 YouTube 上的视频。
它还可以返回统计信息,有关 YouTube 视频的相关报告,并创建用于直播的 RTMP 和 传输密钥。
兼容性
PHP >= 7.1 Laravel 5.x
安装
打开文件 composer.json
并插入以下指令
"require": {
"michael/laravel-youtube": "0.0.21"
}
将 Laravel YouTube
添加到 require 后,您需要运行以下命令
composer update
或者运行以下命令
composer require michael/laravel-youtube
Service Provider 配置
打开文件 config/app.php
并在数组 providers
中添加以下指令
Laravel\Youtube\YoutubeServiceProvider::class
包别名
在您的 config/app.php
文件中,在数组 aliases
中添加以下指令
Youtube => Laravel\Youtube\Facades\Youtube::class
创建配置器
现在您将运行以下命令
php artisan vendor:publish --provider="Laravel\Youtube\YoutubeServiceProvider"
如果一切顺利,将会显示以下信息
Copied File [/vendor/michael/laravel-youtube/config/youtube.php] To [/config/youtube.php]
YouTube 类别列表
如果您需要,以下就是 YouTube 类别的列表
1 电影和动画 - Film & Animation 2 汽车 - Autos & Vehicles 10 音乐 - Music 15 宠物和动物 - Pets & Animals 17 体育 - Sports 19 旅行和活动 - Travel & Events 20 游戏 - Gaming 22 人物和博客 - People & Blogs 23 喜剧 - Comedy 24 娱乐 - Entertainment 25 新闻和政治 - News & Politics 26 如何和风格 - How-to & Style 27 教育 - Education 28 科学和技术 - Science & Technology 29 非营利组织和活动主义 - Non-profits & Activism
创建 YouTube 令牌表
注意: 此表对于库的正常运行至关重要,因为它允许 laravel-youtube
存储从 Google 返回的令牌。
如果您希望不使用 Laravel 迁移创建 tokens
表,请执行以下 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`));
或者您可以通过运行以下迁移来安装项目
php artisan migrate
上传视频到 YouTube
注意:如果视频非常大,您可能需要增加服务器的时间限制,以避免显示超时错误!
要将视频上传到 YouTube
,只需告诉 Laravel YouTube
视频所在位置并提供以下参数
title
- 视频标题description
- 视频描述标签
category_id
- 视频所属类别- 最后是视频的
隐私
以下是如何将视频上传到 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()];
更新 YouTube 上的视频
更新很简单,更新参数将与上传视频的参数相似
title
- 视频标题description
- 视频描述标签
category_id
- 视频所属类别- 最后是视频的
隐私
以下是如何编辑 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();
检查视频是否存在
要检查视频是否存在,只需为以下方法的 checkExistVideo()
提供视频 id,如下所示
<?php $id = "O ID DO VIDEO"; $existVideo = YouTube::checkExistVideo($id); return ['status' => $existVideo];
获取视频详情
要获取视频详情,只需为以下方法的 checkExistVideo()
提供视频 id,如下所示
<?php $id = "O ID DO VIDEO"; $existVideo = YouTube::getDetailsVideo($id); return ["details" => $detailsVideo];
删除视频
删除视频的操作非常简单,只需提供视频标识符并调用excluir()
方法。
下面是一个示例
<?php $id = "O ID DO VIDEO"; $video = YouTube::delete($id); return ["excluir" => $video];
搜索视频
要在YouTube上搜索视频,可以使用search()
方法,并传递两个参数,它们是:
Query
- 要搜索的术语maxResults
- 最大结果数
search()
方法将返回
- 匹配术语的视频
- 匹配术语的播放列表
- 匹配术语的频道
下面是一个使用示例
<?php $result = YouTube::search('TERMO BUSCADO', 'MAXIMO DE RESULTADOS'); return ['lista' => $result];
创建实时活动
要创建实时活动,只需调用createEventRTMP()
方法并传递以下参数
开始日期
结束日期
视频标题
- 可选:
Privacidade
- 默认隐私设置是:未列出 - 可选:
Linguagem
- 默认语言是:葡萄牙语(巴西) - 可选:
Tags
- 默认标签是:michael,laravel-youtube
使用示例
<?php YouTube::createEventRTMP("2019-05-13 22:00:00", "2019-05-13 23:00:00", "Evento teste");
可选值
使用可选值示例
<?php YouTube::createEventRTMP("2019-05-13 22:00:00", "2019-05-13 23:00:00", "Evento teste", "unlisted", "Portuguese (Brazil)", "michael,laravel-youtube");
如果创建成功,您将返回一个包含所有事件值的Json
对象。
实时活动列表
要列出实时活动,只需调用listEventsBroadcasts()
方法,如下所示
<?php $video = YouTube::listEventsBroadcasts(); return ["list" => $video];
如果存在视频列表,则将返回一个包含所有事件的Json
对象。