Kuinka ladata video YouTubeen Laravel-sovelluksessa
Äskettäin yksi lukijoistamme kysyi kuinka ladata video YouTubeen Laravel-sovelluksesta. He halusivat rakentaa järjestelmän, joka voi ladata YouTube-videoita Laravel-sovelluksesta. Tällöin heidän ei tarvitse antaa YouTube-tililleen pääsyä tiimin jäsenille, jotka hallinnoivat videoita YouTube-tilille.
Aiemmin olen kirjoittanut artikkelin, joka selittää videoiden lataamisen YouTubeen käyttämällä PHP: n YouTube-sovellusliittymää. Tässä artikkelissa näemme, kuinka video ladataan YouTubeen Laravel-sovelluksesta.
Rekisteröi sovellus ja hanki kirjautumistiedot
Aloittamiseksi sinulla on oltava Google-tili. Google-tilillä sinun on rekisteröitävä hakemuksesi ja hankittava API-avaimet.
Alla on vaiheet sovelluksen rekisteröimiseksi ja API-avainten nappaamiseksi.
- Siirry Google Developer Consoleen https://console.developers.google.com.
- Luo uusi projekti. Voit myös valita olemassa olevan projektin.
- Kirjoita projektisi nimi. Google Console luo sinulle yksilöllisen projektitunnuksen.
- Kun luot projektin, se näkyy vasemman sivupalkin yläosassa.
- Napsauta vasemmasta valikosta Kirjasto. Näet luettelon Google-sovellusliittymistä. Ota käyttöön YouTube Data -sovellusliittymä.
- Napsauta sitten vasemmasta valikosta Tunnistetiedot. Valitse Luo kirjautumistiedot -kohdasta Oauth-asiakastunnus. Valitse valintanappi Web-sovellukselle.
- Anna nimi. Syötä verkkotunnuksesi URL-osoite kohtaan Valtuutetut JavaScript-alkuperät. Lisää valtuutettujen uudelleenohjausten URI-tunnuksiin uudelleenohjauksen URL-osoitteen linkki nimellä http: // localhost: 8000 / youtube / callback. Välitän paikallisen URL-osoitteen tähän. Säädä tämä URL-osoite verkkotunnuksellasi.
- Napsauta lopuksi Luo-painiketta. Saat ponnahdusikkunasta asiakastunnuksen ja asiakassalaisuuden. Kopioi nämä tiedot. Vaadimme sitä pian.
Asenna ja määritä GitHub-kirjasto
Kun olet luonut sovelluksen, seuraava asia on asentaa joedawson / youtube- kirjasto. Kun haluat asentaa tämän kirjaston, avaa pääte projektin juurihakemistossa ja suorita komento:
composer require dawson/youtube
Kun olet asentanut kirjaston, rekisteröi palveluntarjoaja ja aliakset config/app.php
tiedostoon.
config / app.php
....
'providers' => [
...
DawsonYoutubeYoutubeServiceProvider::class,
],
....
'aliases' => [
...
'Youtube' => DawsonYoutubeFacadesYoutube::class,
],
Seuraavaksi julkaise youtube.php
ja siirrot alla olevan komennon avulla:
php artisan vendor:publish --provider="DawsonYoutubeYoutubeServiceProvider"
Yllä oleva komento siirtää tiedoston youtube.php
config-kansioon ja siirtotiedosto kansioon ‘database / migrations’. Nyt sinun on suoritettava siirtokomento, joka luo taulukkotaulukon youtube_access_tokens
tietokantaan.
php artisan migrate
Tämä taulukko tallentaa käyttöoikeustunnuksen ja päivittää tunnuksen YouTube-tilin valtuuttamisen jälkeen. Access_token vaaditaan, kun olet vuorovaikutuksessa YouTube-sovellusliittymän kanssa. Käyttöoikeustunnus toimii tunnuksena YouTube-tilillesi. Käyttöoikeustunnuksella on lyhyt käyttöikä, joten uusi kirjaus käyttää päivitystunnusta uuden käyttöoikeuden saamiseksi. Sinun ei tarvitse huolehtia näiden tunnusten lisäämisestä taulukkoon. Kirjasto tekee sen taustalla.
Olemme kopioineet API-tunnistetiedot, jotka on lisättävä Laravel-sovellukseen. Avaa .env
tiedosto ja lisää asiakastunnuksesi ja asiakassalaisuutesi seuraavasti:
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
Jos teet muutoksia ympäristötiedostoon, sinun on tyhjennettävä kokoonpano komennolla:
php artisan config:clear
Google-tilin valtuutus
Turvallisuussyistä reitit YouTube-tilin valtuuttamiseksi Laravel-sovelluksellasi on oletusarvoisesti poissa käytöstä. Sinun on otettava se käyttöön omasta config/youtube.php
. Avaa config/youtube.php
ja ota se käyttöön korvaamalla väärä arvo tosi-arvolla.
...
'enabled' => true, //set it to 'false' after authorization
Voit nyt valtuuttaa tilisi käyttämällä selaimen URL-osoitetta YOUR_DOMAIN_URL / youtube / auth. Se ohjaa Google-kirjautumissivulle todentamaan tilisi. Viimeistele prosessi. Onnistuneen todennuksen jälkeen sinut ohjataan takaisin Laravel-sovellukseesi. Tarkista youtube_access_tokens
taulukko ja sinun pitäisi nähdä tunnukset, jotka on lisätty access_token -sarakkeeseen. Tämä on kertaluonteinen prosessi. Kirjasto luo access_token automaattisesti taustalle, vaikka se olisi vanhentunut. Käyttäjän ei tarvitse valtuuttaa tiliä uudelleen.
Lataa video YouTube-tilille Laravel-sovelluksessa
Tässä vaiheessa olet valmis käyttötunnuksella. Luo nyt lomake videotiedoston selaamiseksi ja lähetä se YouTubeen. Luodaan ohjain suorittamalla alla oleva komento.
php artisan make:controller VideoController --resource
Määritä reitit VideoController
seuraavasti.
reitit / web.php
<?php
...
Route::resource('video', 'VideoController');
Luo näkymä resources/views/video.blade.php
ja lisää siihen alla oleva koodi.
<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>
Kutsu tätä index
näkymätiedostoa ohjaimen menetelmällä.
public function index()
{
return view('video');
}
Nyt kun vierailet sivustollasi URL-osoitteessa YOUR_DOMAIN_URL / video, näet lomakkeen, joka sisältää tiedoston syötteen, otsikon, kuvauksen ja lähetä-painikkeen.
Lisää YouTube-luokka ohjaimeen, jotta voit soittaa YouTube-sovellusliittymään. Ja store
kirjoita menetelmään koodi ladata video YouTubeen seuraavasti.
<?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();
}
}
Tässä välitämme videotiedoston, otsikon ja kuvauksen lomakkeestamme. Tämä koodi yksinkertaisesti lataa videosi YouTubeen ja tulostaa YouTube-videotunnuksen.
Toivon, että ymmärrät videon lataamisen YouTubeen Laravel-sovelluksessa. Käyttäjä voi myös päivittää ja poistaa videoita kirjaston antamalla koodilla. Voit lukea siitä lisää heidän dokumentaatiostaan.