billiyriantono/youtube

使用Laravel 5的YouTube API包装器。

1.1.0-beta 2015-09-18 22:37 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:06:02 UTC


README

基于Dawson/Youtube

如果您需要将视频上传到单个YouTube频道或您需要从Laravel 5应用程序请求数据,那么这个包可能正是您需要的。

安装

将以下内容添加到您的composer.json文件中。

"billyriantono/youtube": "dev-master"

添加以上内容后,运行composer update以将其拉入。一旦更新完成,我们需要将服务提供者添加到您的config/app.php文件中。

'providers' => [
	'billyriantono\Youtube\YoutubeServiceProvider',
],

然后添加别名...

'aliases' => [
	'Youtube' => 'billyriantono\Youtube\YoutubeFacade',
],

配置

运行php artisan vendor:publish以发布迁移和配置。然后使用php artisan migrate迁移数据库。

这将创建我们的youtube_access_tokenschannels表,它将当然保存我们通过Google认证后的访问令牌。

接下来是配置config/youtube.php中的设置,该设置使用环境变量以确保没有秘密凭据进入版本控制。所以将以下变量添加到您的.env文件中。

GOOGLE_CLIENT_ID=YOUR_CLIENT_ID
GOOGLE_CLIENT_SECRET=YOUR_SECRET
YOUTUBE_APPLICATION_NAME="Your Application Name"
YOUTUBE_REDIRECT_URI="Your Callback Uri" for example : youtube-callback
YOUTUBE_AUTHENTICATION_URI="Your Authentication Uri"
YOUTUBE_AFTER_REDIRECT_URI="Your Custom Controller after getting access token"
GOOGLE_APPROVAL_PROMPT="auto|force"

您可以在您的应用程序的Google 开发者控制台中找到这些值。

现在设置您的应用程序回调,您可以在config/youtube.php中找到这个设置。默认设置为http://yourapp.co.uk/youtube-callback

'redirect_uri' => 'youtube-callback'

如果您不确定如何使用环境变量,Jeffrey Way在Laracasts的环境和配置课程中帮助澄清了迷雾。

认证

现在我们的应用程序已经配置好了,我们将进行初始的Google认证。默认情况下,授权路由是/youtube-auth,但您可以在config/youtube.php中更改它。

在您的应用程序中点击认证路由,您将被重定向到Google以授权您的YouTube帐户/频道。一旦授权,您将被重定向回您的应用程序,前提是您正确配置了回调。

上传视频

一旦完成上述步骤,您的Laravel应用程序现在将有权向YouTube发出请求。具体来说,在本例中,通过传递您希望上传文件的完整路径来上传视频。

要上传视频,请执行以下操作

$id = Youtube::upload($pathToMovieFile);

return $id;

以上将返回上传到YouTube的视频ID。

您还可以选择传递第二个参数作为数组,以下是一些可用的键。

  • title 字符串
  • description 字符串
  • category_id 整数
  • tags 数组
$params = [
	'title'	=> 'Laravel Screencast',
	'description' => 'My First Laravel Tutorial!',
	'category_id' => 10,
	'tags' => [
		'laravel',
		'eloquent',
		'awesome' // Of course!
	]
];

$id = Youtube::upload($pathToMovieFile, $params);

return $id;

就这么简单!

删除视频

如果您想删除视频,当然是在您授权的频道上上传的视频,您也将有权删除它

Youtube::delete($id);

删除视频时,它将检查是否存在,然后再尝试删除。

问题

如果您有任何问题,请随时提交问题。