{"id":29032,"date":"2021-06-02T17:06:00","date_gmt":"2021-06-02T14:06:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=29032"},"modified":"2021-10-17T04:28:30","modified_gmt":"2021-10-17T01:28:30","slug":"hur-laddar-jag-upp-video-pa-youtube-i-laravel-applikationen","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/sv\/hur-laddar-jag-upp-video-pa-youtube-i-laravel-applikationen\/","title":{"rendered":"Hur laddar jag upp video p\u00e5 YouTube i Laravel-applikationen"},"content":{"rendered":"<p>Nyligen fr\u00e5gade en av v\u00e5ra l\u00e4sare hur man laddar upp en video p\u00e5 YouTube fr\u00e5n Laravel-applikationen. De ville bygga ett system som kan ladda upp YouTube-videor fr\u00e5n Laravel-applikationen. Om du g\u00f6r det beh\u00f6ver de inte ge sitt YouTube-konto \u00e5tkomst till de teammedlemmar som hanterar videorna f\u00f6r YouTube-kontot.<\/p>\n<p>Tidigare har jag skrivit en artikel som f\u00f6rklarar hur du <a href=\"https:\/\/themewp.inform.click\/sv\/hur-man-anvander-youtube-api-for-att-ladda-upp-video-pa-youtube-kanal\/\" title=\"laddar upp video p\u00e5 YouTube med YouTube API i PHP\" >laddar upp video p\u00e5 YouTube med YouTube API i PHP<\/a>. I den h\u00e4r artikeln kommer vi att se hur du laddar upp en video p\u00e5 YouTube fr\u00e5n Laravel-applikationen.<\/p>\n<h3>Registrera en ans\u00f6kan och f\u00e5 referenser<\/h3>\n<p>F\u00f6r att komma ig\u00e5ng m\u00e5ste du ha ett Google-konto. P\u00e5 Google-kontot m\u00e5ste du registrera din ans\u00f6kan och h\u00e4mta API-nycklarna.<\/p>\n<p>Nedan f\u00f6ljer stegen f\u00f6r att registrera ett program och ta tag i API-nycklarna.<\/p>\n<ul>\n<li>G\u00e5 till Googles utvecklarkonsol <a href=\"https:\/\/console.developers.google.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external\"><\/a><a href=\"https:\/\/console.developers.google.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">https:\/\/console.developers.google.com<\/a>.<\/li>\n<li>Skapa ett nytt projekt. Du kan ocks\u00e5 v\u00e4lja befintligt projekt.<\/li>\n<li>Skriv ett namn p\u00e5 ditt projekt. Google Console skapar unikt projekt-ID f\u00f6r dig.<\/li>\n<li>N\u00e4r du skapar ett projekt visas det \u00f6verst i v\u00e4nster sidof\u00e4lt.<\/li>\n<li>Klicka p\u00e5 Bibliotek fr\u00e5n den v\u00e4nstra menyn. Du kommer att se en lista \u00f6ver Googles API: er. Aktivera YouTube Data API.<\/li>\n<li>Klicka sedan p\u00e5 referenser fr\u00e5n v\u00e4nster meny. V\u00e4lj Oauth-klient-id under Skapa referenser. V\u00e4lj alternativknappen f\u00f6r webbapplikation.<\/li>\n<li>Ge namnet. Under Auktoriserat JavaScript-ursprung anger du din dom\u00e4n-URL. I de auktoriserade omdirigerings-URI: erna l\u00e4gg till l\u00e4nken till omdirigerings-URL: en som <a href=\"http:\/\/localhost:8000\/youtube\/callback\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">http: \/\/ localhost: 8000 \/ youtube \/ callback<\/a>. Jag skickar min lokala webbadress h\u00e4r. Du b\u00f6r justera denna webbadress med din dom\u00e4n.<\/li>\n<li>Klicka slutligen p\u00e5 knappen Skapa. Du f\u00e5r ett klient-ID och klienthemlighet i popup-f\u00f6nstret. Kopiera dessa detaljer. Vi kommer att kr\u00e4va det snart.<\/li>\n<\/ul>\n<h3>Installera och konfigurera GitHub Library<\/h3>\n<p>N\u00e4r du har skapat applikationen \u00e4r n\u00e4sta sak du beh\u00f6ver g\u00f6ra att installera <a href=\"https:\/\/github.com\/JoeDawson\/youtube\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">joedawson \/ youtube-<\/a> biblioteket. F\u00f6r installation av detta bibliotek \u00f6ppnar du terminalen i din projektkatalog och k\u00f6r kommandot:<\/p>\n<pre><code>composer require dawson\/youtube<\/code><\/pre>\n<p>N\u00e4r du har installerat biblioteket b\u00f6r du registrera tj\u00e4nsteleverant\u00f6ren och alias i <code>config\/app.php<\/code>filen.<\/p>\n<p><strong>config \/ app.php<\/strong><\/p>\n<pre><code>....\n'providers' =&gt; [\n\u00a0\u00a0\u00a0\u00a0...\n\u00a0\u00a0\u00a0\u00a0DawsonYoutubeYoutubeServiceProvider::class,\n],\n....\n'aliases' =&gt; [\n\u00a0\u00a0\u00a0\u00a0...\n\u00a0\u00a0\u00a0\u00a0'Youtube' =&gt; DawsonYoutubeFacadesYoutube::class,\n],<\/code><\/pre>\n<p>D\u00e4refter publicerar du <code>youtube.php<\/code>och migreringar med kommandot nedan:<\/p>\n<pre><code>php artisan vendor:publish --provider=\"DawsonYoutubeYoutubeServiceProvider\"<\/code><\/pre>\n<p>Ovanst\u00e5ende kommando flyttar filen <code>youtube.php<\/code>under mappen &#8217;config&#8217; och migreringsfilen under mappen &#8217;database \/ migrations&#8217;. Nu m\u00e5ste du k\u00f6ra migreringskommandot som skapar en <code>youtube_access_tokens<\/code>tabelltabell i databasen.<\/p>\n<pre><code>php artisan migrate<\/code><\/pre>\n<p>Den h\u00e4r tabellen lagrar \u00e5tkomsttoken och uppdaterar token efter godk\u00e4nnande av YouTube-kontot. Access_token beh\u00f6vs n\u00e4r du interagerar med YouTube API. \u00c5tkomsttoken fungerar som en identifierare f\u00f6r ditt YouTube-konto. \u00c5tkomsttoken har en kort livstid s\u00e5 f\u00f6r att f\u00e5 den nya \u00e5tkomsttoken anv\u00e4nder detta bibliotek en uppdateringstoken. Du beh\u00f6ver inte oroa dig f\u00f6r att infoga dessa tokens i en tabell. Biblioteket g\u00f6r det i bakgrunden.<\/p>\n<p>Vi har kopierat API-referenserna som m\u00e5ste placeras i Laravel-applikationen. \u00d6ppna <code>.env<\/code>filen och l\u00e4gg till ditt klient-id och klienthemlighet enligt f\u00f6ljande:<\/p>\n<pre><code>GOOGLE_CLIENT_ID=\nGOOGLE_CLIENT_SECRET=<\/code><\/pre>\n<p>Om du g\u00f6r n\u00e5gra \u00e4ndringar i milj\u00f6filen b\u00f6r du rensa konfigurationen med kommandot:<\/p>\n<pre><code>php artisan config:clear<\/code><\/pre>\n<h4>Auktorisering av Google-konto<\/h4>\n<p>Av s\u00e4kerhetssk\u00e4l \u00e4r rutterna f\u00f6r att auktorisera YouTube-kontot med din Laravel-applikation inaktiverade som standard. Du m\u00e5ste aktivera det fr\u00e5n din <code>config\/youtube.php<\/code>. \u00d6ppna <code>config\/youtube.php<\/code>och aktivera det genom att bara ers\u00e4tta falskt v\u00e4rde med true.<\/p>\n<pre><code>...\n'enabled' =&gt; true, \/\/set it to 'false' after authorization<\/code><\/pre>\n<p>Du kan nu auktorisera ditt konto med webbadressen YOUR_DOMAIN_URL \/ youtube \/ auth i webbl\u00e4saren. Det omdirigeras till Googles inloggningssida f\u00f6r att autentisera ditt konto. Slutf\u00f6r processen. Vid framg\u00e5ngsrik autentisering omdirigerar du tillbaka till din Laravel-applikation. Kontrollera <code>youtube_access_tokens<\/code>tabellen och du b\u00f6r se tokens infogade i kolumnen &#8217;access_token&#8217;. Detta \u00e4r en eng\u00e5ngsprocess. Biblioteket genererar automatiskt access_token i bakgrunden \u00e4ven om det har upph\u00f6rt att g\u00e4lla. Anv\u00e4ndaren beh\u00f6ver inte auktorisera sitt konto igen.<\/p>\n<h3>Ladda upp video p\u00e5 YouTube-konto i Laravel-applikationen<\/h3>\n<p>I det h\u00e4r skedet \u00e4r du redo med \u00e5tkomsttoken. Skapa nu ett formul\u00e4r f\u00f6r att bl\u00e4ddra i videofilen och skicka den till YouTube. L\u00e5t oss skapa en kontroller genom att k\u00f6ra kommandot nedan.<\/p>\n<pre><code>php artisan make:controller VideoController --resource<\/code><\/pre>\n<p>Definiera rutter f\u00f6r <code>VideoController<\/code>enligt f\u00f6ljande.<\/p>\n<p><strong>rutter \/ web.php<\/strong><\/p>\n<pre><code>&lt;?php\n...\nRoute::resource('video', 'VideoController');<\/code><\/pre>\n<p>Skapa en vy <code>resources\/views\/video.blade.php<\/code>och l\u00e4gg till koden nedan i den.<\/p>\n<pre><code>&lt;form action=\"{{ url('video') }}\" method=\"post\" enctype=\"multipart\/form-data\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;input type=\"text\" name=\"title\" placeholder=\"Enter Video Title\" \/&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;textarea name=\"description\" cols=\"30\" rows=\"10\" placeholder=\"Video description\"&gt;&lt;\/textarea&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;input type=\"file\" name=\"video\" \/&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;button type=\"submit\" class=\"btn btn-default\"&gt;Submit&lt;\/button&gt;\n\u00a0\u00a0\u00a0\u00a0{{ csrf_field() }}\n&lt;\/form&gt;<\/code><\/pre>\n<p>Ring den h\u00e4r vyfilen fr\u00e5n <code>index<\/code>metoden f\u00f6r v\u00e5r controller.<\/p>\n<pre><code>public function index()\n{\n\u00a0\u00a0\u00a0\u00a0return view('video');\n}<\/code><\/pre>\n<p>Nu n\u00e4r du bes\u00f6ker YOUR_DOMAIN_URL \/ video ser du ett formul\u00e4r som inneh\u00e5ller filinmatning, titel, beskrivning och skicka-knapp.<\/p>\n<p>F\u00f6r att ringa YouTube API l\u00e4gg till en YouTube-klass i en controller. Och i <code>store<\/code>metoden skriver du koden f\u00f6r att ladda upp en video p\u00e5 YouTube enligt f\u00f6ljande.<\/p>\n<pre><code>&lt;?php\n\u00a0\nnamespace AppHttpControllers;\n\u00a0\nuse IlluminateHttpRequest;\nuse Youtube;\n\u00a0\nclass VideoController extends Controller\n{\n\u00a0\u00a0\u00a0\u00a0....\n\u00a0\u00a0\u00a0\u00a0public function store(Request $request)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$video = Youtube::upload($request-&gt;file('video')-&gt;getPathName(), [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'title'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 =&gt; $request-&gt;input('title'),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'description' =&gt; $request-&gt;input('description')\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0]);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return \"Video uploaded successfully. Video ID is \". $video-&gt;getVideoId();\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>H\u00e4r skickar vi en videofil, titel och beskrivning fr\u00e5n v\u00e5rt formul\u00e4r. Den h\u00e4r koden laddar bara upp din video p\u00e5 YouTube och skriver ut YouTube-video-id.<\/p>\n<p>Jag hoppas att du f\u00f6rst\u00e5r hur du laddar upp en video p\u00e5 YouTube i Laravel-applikationen. Anv\u00e4ndaren kan ocks\u00e5 uppdatera och ta bort videoklippen med koden fr\u00e5n biblioteket. Du kan l\u00e4sa mer om det i deras <a href=\"https:\/\/github.com\/joedawson\/youtube\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">dokumentation<\/a>.<\/p>\n<h4>relaterade artiklar<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/paypal-payments-pro-integration-i-laravel\/\" title=\"PayPal Payments Pro-integration i Laravel\">PayPal Payments Pro-integration i Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/hur-man-skapar-en-blogg-med-laravel\/\" title=\"Hur man skapar en blogg med Laravel\">Hur man skapar en blogg med Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/hur-man-laddar-upp-och-beskar-bild-i-laravel-med-imgareaselect-and-intervention-image-library\/\" title=\"Hur man laddar upp och besk\u00e4r bilder i Laravel\">Hur man laddar upp och besk\u00e4r bilder i Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vill du ladda upp video p\u00e5 YouTube fr\u00e5n din Laravel-applikation? I den h\u00e4r artikeln visar jag hur du laddar upp video p\u00e5 YouTube fr\u00e5n Laravel<\/p>\n","protected":false},"author":1,"featured_media":20375,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[503],"tags":[850],"class_list":["post-29032","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel2-10","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/29032","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/comments?post=29032"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/29032\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media\/20375"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media?parent=29032"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/categories?post=29032"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/tags?post=29032"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}