...
✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Як завантажити відео на YouTube у програмі Laravel

13

Нещодавно один з наших читачів запитав, як завантажити відео на YouTube із програми Laravel. Вони хотіли створити систему, яка може завантажувати відео YouTube із програми Laravel. Роблячи це, їм не потрібно надавати доступ до свого облікового запису YouTube членам команди, які керують відео для облікового запису YouTube.

Раніше я писав статтю, в якій розповідається про завантаження відео на YouTube за допомогою API YouTube у PHP. У цій статті ми побачимо, як завантажити відео на YouTube із програми Laravel.

Зареєструйте заявку та отримайте облікові дані

Для початку потрібно мати обліковий запис Google. В обліковому записі Google потрібно зареєструвати свою програму та отримати ключі API.

Нижче наведені кроки для реєстрації програми та захоплення ключів API.

  • Перейдіть на Консоль розробника Google https://console.developers.google.com.
  • Створіть новий проект. Ви також можете вибрати існуючий проект.
  • Введіть назву вашого проекту. Google Console створить для вас унікальний ідентифікатор проекту.
  • Після створення проекту він з’явиться у верхній частині лівої бічної панелі.
  • Клацніть на Бібліотека в меню ліворуч. Ви побачите список API Google. Увімкніть API даних YouTube.
  • Далі в меню ліворуч клацніть на Повноваження. Виберіть ідентифікатор клієнта Oauth у розділі Створення облікових даних. Виберіть перемикач для веб-програми.
  • Дайте ім’я. У розділі Авторизовані джерела JavaScript введіть URL-адресу вашого домену. В авторизованих URI-адресах переспрямування додайте посилання URL-адреси переадресації як http: // localhost: 8000 / youtube / callback. Я передаю тут свою локальну URL-адресу. Вам слід скоригувати цю URL-адресу для вашого домену.
  • Нарешті, натисніть кнопку Створити. У спливаючому вікні ви отримаєте ідентифікатор клієнта та секрет клієнта. Скопіюйте ці деталі. Незабаром це буде потрібно.

Встановіть та налаштуйте бібліотеку GitHub

Після створення програми, наступне, що потрібно зробити, це встановити бібліотеку joedawson / youtube. Для встановлення цієї бібліотеки відкрийте термінал у кореневому каталозі проекту та запустіть команду:

composer require dawson/youtube

Після встановлення бібліотеки слід зареєструвати постачальника послуг та псевдоніми у config/app.phpфайлі.

config / app.php

....
'providers' => [
    ...
    DawsonYoutubeYoutubeServiceProvider::class,
],
....
'aliases' => [
    ...
    'Youtube' => DawsonYoutubeFacadesYoutube::class,
],

Потім опублікуйте youtube.phpта міграції за допомогою наведеної нижче команди:

php artisan vendor:publish --provider="DawsonYoutubeYoutubeServiceProvider"

Вищевказана команда переміщує файл youtube.phpу папку ‘config’, а файл перенесення – в папку ‘database / migrations’. Тепер вам потрібно запустити команду міграції, яка створить таблицю youtube_access_tokensтаблиць у базі даних.

php artisan migrate

У цій таблиці буде збережено маркер доступу та маркер оновлення після авторизації облікового запису YouTube. Tok_token необхідний під час взаємодії з API YouTube. Токен доступу виступає як ідентифікатор вашого облікового запису YouTube. Маркер доступу має короткий проміжок життя, тому для отримання нового маркера доступу ця бібліотека використовує маркер оновлення. Вам не потрібно турбуватися про те, щоб вставити ці маркери в таблицю. Бібліотека зробить це у фоновому режимі.

Ми скопіювали облікові дані API, які потрібно вставити у програму Laravel. Відкрийте .envфайл і додайте ідентифікатор клієнта та секрет клієнта наступним чином:

GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=

Якщо ви вносите будь-які зміни у файл середовища, вам слід очистити конфігурацію за допомогою команди:

php artisan config:clear

Авторизація облікового запису Google

З міркувань безпеки маршрути для авторизації облікового запису YouTube за допомогою програми Laravel за замовчуванням відключені. Вам потрібно буде ввімкнути його з вашого config/youtube.php. Відкрийте config/youtube.phpта ввімкніть його, просто замінивши значення false на true.

...
'enabled' => true, //set it to 'false' after authorization

Тепер ви можете авторизувати свій обліковий запис, використовуючи URL-адресу YOUR_DOMAIN_URL / youtube / auth у веб-переглядачі. Він перенаправить на сторінку входу в Google для автентифікації вашого облікового запису. Завершіть процес. Після успішної автентифікації ви перенаправите назад до програми Laravel. Перевірте youtube_access_tokensтаблицю, і ви побачите маркери, вставлені в стовпець ‘access_token’. Це одноразовий процес. Бібліотека автоматично генерує access_token у фоновому режимі, навіть якщо термін його дії минув. Користувачеві не потрібно авторизувати свій обліковий запис знову.

Завантажте відео в обліковий запис YouTube у програмі Laravel

На цьому етапі ви готові до використання маркера доступу. Тепер створіть форму для перегляду відеофайлу та надішліть його на YouTube. Давайте створимо контролер, виконавши наведену нижче команду.

php artisan make:controller VideoController --resource

Визначте маршрути VideoControllerнаступним чином.

routes / web.php

<?php
...
Route::resource('video', 'VideoController');

Створіть подання resources/views/video.blade.phpта додайте в нього код нижче.

<form action="{{ url('video') }}" method="post" enctype="multipart/form-data">
    <p><input type="text" name="title" placeholder="Enter Video Title" /></p>
    <p><textarea name="description" cols="30" rows="10" placeholder="Video description"></textarea></p>
    <p><input type="file" name="video" /></p>
    <button type="submit" class="btn btn-default">Submit</button>
    {{ csrf_field() }}
</form>

Викличте цей файл представлення з indexметоду нашого контролера.

public function index()
{
    return view('video');
}

Тепер, коли ви відвідаєте YOUR_DOMAIN_URL / відео, ви побачите форму, що містить введення файлу, заголовок, опис та кнопку подання.

Для виклику API YouTube додайте клас YouTube у контролер. А в storeметоді напишіть код для завантаження відео на YouTube наступним чином.

<?php
 
namespace AppHttpControllers;
 
use IlluminateHttpRequest;
use Youtube;
 
class VideoController extends Controller
{
    ....
    public function store(Request $request)
    {
        $video = Youtube::upload($request->file('video')->getPathName(), [
            'title'       => $request->input('title'),
            'description' => $request->input('description')
        ]);
 
        return "Video uploaded successfully. Video ID is ". $video->getVideoId();
    }
}

Тут ми передаємо відеофайл, заголовок та опис із нашої форми. Цей код просто завантажує ваше відео на YouTube і друкує ідентифікатор відео YouTube.

Сподіваюся, вам зрозуміло про завантаження відео на YouTube у програмі Laravel. Користувач також може оновлювати та видаляти відео, використовуючи код, наданий бібліотекою. Ви можете прочитати більше про це в їх документації.

Пов’язані статті

Джерело запису: artisansweb.net

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі