billiyriantono/youtube
使用Laravel 5的YouTube API包装器。
Requires
- php: >=5.4.0
- google/apiclient: 1.1.*
- illuminate/support: >=5.0.0
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_tokens
和channels
表,它将当然保存我们通过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);
删除视频时,它将检查是否存在,然后再尝试删除。
问题
如果您有任何问题,请随时提交问题。