michael/laravel-youtube

v0.0.26 2020-02-22 19:34 UTC

This package is auto-updated.

Last update: 2024-09-23 06:21:47 UTC


README

Latest Stable Version Total Downloads License Maintainability Build Status

Laravel YouTube

注意: 请使用英文文档 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对象。