{"id":25190,"date":"2021-06-02T17:09:00","date_gmt":"2021-06-02T14:09:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25190"},"modified":"2021-10-18T02:34:58","modified_gmt":"2021-10-17T23:34:58","slug":"so-laden-sie-videos-auf-youtube-in-der-laravel-anwendung-hoch","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/de\/so-laden-sie-videos-auf-youtube-in-der-laravel-anwendung-hoch\/","title":{"rendered":"So laden Sie Videos auf YouTube in der Laravel-Anwendung hoch"},"content":{"rendered":"<p>K\u00fcrzlich hat einer unserer Leser gefragt, wie man ein Video von der Laravel-Anwendung auf YouTube hochl\u00e4dt. Sie wollten ein System aufbauen, das YouTube-Videos aus der Laravel-Anwendung hochladen kann. Dabei m\u00fcssen sie den Teammitgliedern, die die Videos f\u00fcr das YouTube-Konto verwalten, ihrem YouTube-Konto keinen Zugriff gew\u00e4hren.<\/p>\n<p>In der Vergangenheit habe ich einen Artikel geschrieben, der das <a href=\"https:\/\/themewp.inform.click\/de\/so-verwenden-sie-die-youtube-api-zum-hochladen-von-videos-auf-dem-youtube-kanal\/\" title=\"Hochladen von Videos auf YouTube mit der YouTube-API in PHP erkl\u00e4rt\" >Hochladen von Videos auf YouTube mit der YouTube-API in PHP erkl\u00e4rt<\/a>. In diesem Artikel erfahren Sie, wie Sie ein Video \u00fcber die Laravel-Anwendung auf YouTube hochladen.<\/p>\n<h3>Registrieren Sie eine Anwendung und erhalten Sie Zugangsdaten<\/h3>\n<p>Um loszulegen, ben\u00f6tigen Sie ein Google-Konto. Auf dem Google-Konto m\u00fcssen Sie Ihre Anwendung registrieren und die API-Schl\u00fcssel abrufen.<\/p>\n<p>Nachfolgend finden Sie die Schritte zum Registrieren einer Anwendung und zum Abrufen der API-Schl\u00fcssel.<\/p>\n<ul>\n<li>Gehen Sie zur Google-Entwicklerkonsole <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>Erstellen Sie ein neues Projekt. Sie k\u00f6nnen auch ein vorhandenes Projekt ausw\u00e4hlen.<\/li>\n<li>Geben Sie einen Namen f\u00fcr Ihr Projekt ein. Die Google Console erstellt eine eindeutige Projekt-ID f\u00fcr Sie.<\/li>\n<li>Wenn Sie ein Projekt erstellen, wird es oben in der linken Seitenleiste angezeigt.<\/li>\n<li>Klicken Sie im linken Men\u00fc auf Bibliothek. Sie sehen eine Liste der Google APIs. Aktivieren Sie die YouTube-Daten-API.<\/li>\n<li>Klicken Sie anschlie\u00dfend im linken Men\u00fc auf die Anmeldeinformationen. W\u00e4hlen Sie unter Anmeldeinformationen erstellen die OAuth-Client-ID aus. W\u00e4hlen Sie das Optionsfeld f\u00fcr Webanwendung.<\/li>\n<li>Geben Sie den Namen an. Geben Sie unter Autorisierte JavaScript-Urspr\u00fcnge Ihre Domain-URL ein. F\u00fcgen Sie in den autorisierten Weiterleitungs-URIs den Link der Weiterleitungs-URL als <a href=\"http:\/\/localhost:8000\/youtube\/callback\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">http:\/\/localhost:8000\/youtube\/callback hinzu<\/a>. Ich \u00fcbergebe hier meine lokale URL. Sie sollten diese URL mit Ihrer Domain anpassen.<\/li>\n<li>Klicken Sie abschlie\u00dfend auf die Schaltfl\u00e4che Erstellen. Im Pop-up erhalten Sie eine Client-ID und ein Client-Geheimnis. Kopieren Sie diese Angaben. Wir werden es bald ben\u00f6tigen.<\/li>\n<\/ul>\n<h3>GitHub-Bibliothek installieren und konfigurieren<\/h3>\n<p>Nachdem Sie die Anwendung erstellt haben, m\u00fcssen Sie als n\u00e4chstes die <a href=\"https:\/\/github.com\/JoeDawson\/youtube\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">joedawson\/youtube-<\/a> Bibliothek installieren. \u00d6ffnen Sie zur Installation dieser Bibliothek das Terminal in Ihrem Projekt-Root-Verzeichnis und f\u00fchren Sie den Befehl aus:<\/p>\n<pre><code>composer require dawson\/youtube<\/code><\/pre>\n<p>Nach der Installation der Bibliothek sollten Sie den Dienstanbieter und die Aliasnamen in der <code>config\/app.php<\/code>Datei registrieren .<\/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>Ver\u00f6ffentlichen Sie als N\u00e4chstes die <code>youtube.php<\/code>und Migrationen mit dem folgenden Befehl:<\/p>\n<pre><code>php artisan vendor:publish --provider=\"DawsonYoutubeYoutubeServiceProvider\"<\/code><\/pre>\n<p>Der obige Befehl verschiebt die Datei <code>youtube.php<\/code>in den Ordner \u201econfig&#8220; und die Migrationsdatei in den Ordner \u201edatabase\/migrations&#8220;. Jetzt m\u00fcssen Sie den Migrationsbefehl ausf\u00fchren, der eine <code>youtube_access_tokens<\/code>Tabellentabelle in der Datenbank erstellt.<\/p>\n<pre><code>php artisan migrate<\/code><\/pre>\n<p>In dieser Tabelle w\u00fcrden das Zugriffstoken und das Aktualisierungstoken nach der Autorisierung des YouTube-Kontos gespeichert. Das access_token wird ben\u00f6tigt, wenn Sie mit der YouTube API interagieren. Das Zugriffstoken dient als Kennung f\u00fcr Ihr YouTube-Konto. Das Zugriffstoken hat eine kurze Lebensdauer, sodass diese Bibliothek zum Abrufen des neuen Zugriffstokens ein Aktualisierungstoken verwendet. Sie m\u00fcssen sich keine Gedanken \u00fcber das Einf\u00fcgen dieser Token in eine Tabelle machen. Die Bibliothek wird dies im Hintergrund tun.<\/p>\n<p>Wir haben die API-Anmeldeinformationen kopiert, die in die Laravel-Anwendung eingef\u00fcgt werden m\u00fcssen. \u00d6ffnen Sie die <code>.env<\/code>Datei und f\u00fcgen Sie Ihre Client-ID und Ihr Client-Geheimnis wie folgt hinzu:<\/p>\n<pre><code>GOOGLE_CLIENT_ID=\nGOOGLE_CLIENT_SECRET=<\/code><\/pre>\n<p>Wenn Sie \u00c4nderungen an der Umgebungsdatei vornehmen, sollten Sie die Konfiguration mit dem folgenden Befehl l\u00f6schen:<\/p>\n<pre><code>php artisan config:clear<\/code><\/pre>\n<h4>Autorisierung des Google-Kontos<\/h4>\n<p>Aus Sicherheitsgr\u00fcnden sind die Routen zur Autorisierung des YouTube-Kontos mit Ihrer Laravel-Anwendung standardm\u00e4\u00dfig deaktiviert. Sie m\u00fcssen es von Ihrem <code>config\/youtube.php<\/code>. \u00d6ffnen Sie das <code>config\/youtube.php<\/code>und aktivieren Sie es, indem Sie einfach den Wert false durch true ersetzen.<\/p>\n<pre><code>...\n'enabled' =&gt; true, \/\/set it to 'false' after authorization<\/code><\/pre>\n<p>Du kannst dein Konto jetzt mit der URL YOUR_DOMAIN_URL\/youtube\/auth im Browser autorisieren. Es wird auf die Google-Anmeldeseite weitergeleitet, um Ihr Konto zu authentifizieren. Schlie\u00dfen Sie den Vorgang ab. Nach erfolgreicher Authentifizierung werden Sie zu Ihrer Laravel-Anwendung zur\u00fcckgeleitet. \u00dcberpr\u00fcfen Sie die <code>youtube_access_tokens<\/code>Tabelle und Sie sollten Token sehen, die in die Spalte &#8218;access_token&#8216; eingef\u00fcgt wurden. Dies ist ein einmaliger Vorgang. Die Bibliothek generiert automatisch access_token im Hintergrund, auch wenn sie abgelaufen ist. Der Benutzer muss sein Konto nicht erneut autorisieren.<\/p>\n<h3>Video auf YouTube-Konto in Laravel-Anwendung hochladen<\/h3>\n<p>Zu diesem Zeitpunkt sind Sie mit dem Zugriffstoken bereit. Erstellen Sie nun ein Formular, um die Videodatei zu durchsuchen und an YouTube zu senden. Lassen Sie uns einen Controller erstellen, indem Sie den folgenden Befehl ausf\u00fchren.<\/p>\n<pre><code>php artisan make:controller VideoController --resource<\/code><\/pre>\n<p>Definieren Sie die Routen <code>VideoController<\/code>wie folgt.<\/p>\n<p><strong>routen\/web.php<\/strong><\/p>\n<pre><code>&lt;?php\n...\nRoute::resource('video', 'VideoController');<\/code><\/pre>\n<p>Erstellen Sie eine Ansicht <code>resources\/views\/video.blade.php<\/code>und f\u00fcgen Sie den folgenden Code hinzu.<\/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>Rufen Sie diese Ansichtsdatei aus der <code>index<\/code>Methode unseres Controllers auf.<\/p>\n<pre><code>public function index()\n{\n\u00a0\u00a0\u00a0\u00a0return view('video');\n}<\/code><\/pre>\n<p>Wenn Sie jetzt YOUR_DOMAIN_URL\/video besuchen, sehen Sie ein Formular mit Dateieingabe, Titel, Beschreibung und Schaltfl\u00e4che zum Senden.<\/p>\n<p>Um die YouTube-API aufzurufen, f\u00fcgen Sie eine YouTube-Klasse in einem Controller hinzu. Und in der <code>store<\/code>Methode schreiben Sie den Code zum Hochladen eines Videos auf YouTube wie folgt.<\/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>Hier \u00fcbergeben wir eine Videodatei, einen Titel und eine Beschreibung aus unserem Formular. Dieser Code l\u00e4dt einfach Ihr Video auf YouTube hoch und druckt die YouTube-Video-ID.<\/p>\n<p>Ich hoffe, Sie verstehen das Hochladen eines Videos auf YouTube in der Laravel-Anwendung. Der Benutzer kann die Videos auch mit dem von der Bibliothek bereitgestellten Code aktualisieren und l\u00f6schen. Sie k\u00f6nnen mehr dar\u00fcber in ihrer <a href=\"https:\/\/github.com\/joedawson\/youtube\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Dokumentation<\/a> lesen .<\/p>\n<h4>Zum Thema passende Artikel<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/paypal-payments-pro-integration-in-laravel\/\" title=\"PayPal Payments Pro-Integration in Laravel\">PayPal Payments Pro-Integration in Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/so-erstellen-sie-einen-blog-mit-laravel\/\" title=\"So erstellen Sie einen Blog mit Laravel\">So erstellen Sie einen Blog mit Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/so-laden-sie-ein-bild-in-laravel-hoch-und-beschneiden-es-mit-der-imgareaselect-und-interventions-bildbibliothek\/\" title=\"Wie man Bilder in Laravel hochl\u00e4dt und zuschneidet\">Wie man Bilder in Laravel hochl\u00e4dt und zuschneidet<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Aufnahmequelle:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>M\u00f6chten Sie ein Video von Ihrer Laravel-Anwendung auf YouTube hochladen? In diesem Artikel zeige ich Ihnen, wie Sie Videos von Laravel auf YouTube hochladen<\/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":[496],"tags":[845],"class_list":["post-25190","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-de"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/25190","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/comments?post=25190"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/25190\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media\/20375"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media?parent=25190"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/categories?post=25190"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/tags?post=25190"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}