{"id":29570,"date":"2021-06-18T14:23:00","date_gmt":"2021-06-18T11:23:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=29570"},"modified":"2021-10-18T03:31:28","modified_gmt":"2021-10-18T00:31:28","slug":"jak-uzyskac-tagi-wideo-youtube-za-pomoca-interfejsu-api-youtube","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pl\/jak-uzyskac-tagi-wideo-youtube-za-pomoca-interfejsu-api-youtube\/","title":{"rendered":"Jak uzyska\u0107 tagi wideo YouTube za pomoc\u0105 interfejsu API YouTube"},"content":{"rendered":"<p>Ostatnio pracowa\u0142em nad projektem, w kt\u00f3rym nasz klient chce zdoby\u0107 tagi film\u00f3w z YouTube. Prowadz\u0105 sw\u00f3j kana\u0142 YouTube i chcieli prostego narz\u0119dzia do pobierania tag\u00f3w dowolnego filmu z YouTube za pomoc\u0105 adresu URL filmu. W tym artykule poka\u017c\u0119, jak uzyska\u0107 tagi wideo YouTube za pomoc\u0105 interfejsu API YouTube.<\/p>\n<p>Korzystaj\u0105c z tego narz\u0119dzia, mo\u017cna uzyska\u0107 tagi dowolnego filmu z YouTube, podaj\u0105c poprawny adres URL filmu. Mo\u017ce to pom\u00f3c YouTuberom przegl\u0105da\u0107 tagi u\u017cywane do ich w\u0142asnych\/konkuruj\u0105cych film\u00f3w. Doda korzy\u015bci, aby znale\u017a\u0107 odpowiednie tagi dla ich film\u00f3w.<\/p>\n<p>Poni\u017cej znajduj\u0105 si\u0119 mo\u017cliwe formaty adres\u00f3w URL dowolnego filmu na YouTube. Musisz u\u017cy\u0107 adresu URL pasuj\u0105cego do dowolnego z powy\u017cszych format\u00f3w.<\/p>\n<ul>\n<li><a href=\"https:\/\/youtu.be\/VIDEO_ID\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">https:\/\/youtu.be\/VIDEO_ID<\/a><\/li>\n<li><a href=\"https:\/\/www.youtube.com\/embed\/VIDEO_ID\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">https:\/\/www.youtube.com\/embed\/VIDEO_ID<\/a><\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=VIDEO_ID\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">https:\/\/www.youtube.com\/watch?v=VIDEO_ID<\/a><\/li>\n<\/ul>\n<h3>Pierwsze kroki<\/h3>\n<p>Aby rozpocz\u0105\u0107, musisz najpierw uzyska\u0107 klucz API z konta Konsoli Google. Ten klucz API jest niezb\u0119dny podczas interakcji z interfejsami API YouTube. Bez tego klucza YouTube traktuje wszystkie przychodz\u0105ce wywo\u0142ania API jako nieautoryzowane.<\/p>\n<p>Poni\u017cej znajduj\u0105 si\u0119 kroki, aby pobra\u0107 klucz API.<\/p>\n<ul>\n<li>Przejd\u017a do Konsoli programisty Google <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>Utw\u00f3rz nowy projekt. Opcjonalnie mo\u017cesz r\u00f3wnie\u017c wybra\u0107 istniej\u0105cy projekt.<\/li>\n<li>Nadaj nazw\u0119 swojemu projektowi. Konsola Google utworzy dla Ciebie unikalny identyfikator projektu.<\/li>\n<li>Tw\u00f3j nowo utworzony projekt pojawi si\u0119 na g\u00f3rze lewego paska bocznego.<\/li>\n<li>Kliknij Biblioteka z lewego menu. Zobaczysz list\u0119 interfejs\u00f3w Google API. W\u0142\u0105cz interfejs API danych YouTube.<\/li>\n<li>Nast\u0119pnie z lewego menu kliknij Po\u015bwiadczenia. Wybierz klucz API w obszarze Utw\u00f3rz po\u015bwiadczenia.<\/li>\n<li>Skopiuj ten klucz API.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20170-6081c7503ee25.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20170-6081c7503ee25.png\" alt=\"Jak uzyska\u0107 tagi wideo YouTube za pomoc\u0105 interfejsu API YouTube\" ><\/a><\/p>\n<p>Nast\u0119pnie utw\u00f3rz prosty formularz, w kt\u00f3rym mo\u017cesz doda\u0107 adres URL wideo YouTube i wys\u0142a\u0107 go do dalszego przetwarzania.<\/p>\n<pre><code>&lt;form method=\"get\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input type=\"text\" name=\"ytvideo\" placeholder=\"Enter YouTube Video URL\" value=\"&lt;?php if (array_key_exists('ytvideo', $_GET)) echo $_GET['ytvideo']; ?&gt;\" required \/&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input type=\"submit\" name=\"submit\" value=\"Submit\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;\/p&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<h3>Pobierz tagi wideo YouTube za pomoc\u0105 interfejsu API YouTube<\/h3>\n<p>Jak wspomniano wcze\u015bniej, YouTube obs\u0142uguje r\u00f3\u017cne typy adres\u00f3w URL. Musimy przyjrze\u0107 si\u0119 r\u00f3\u017cnym formatom adres\u00f3w URL i wyodr\u0119bni\u0107 z nich identyfikator wideo.<\/p>\n<p>Napiszmy funkcj\u0119, kt\u00f3ra wyodr\u0119bnia identyfikator wideo za pomoc\u0105 wyra\u017cenia regularnego z obs\u0142ugiwanego formatu adresu URL wideo YouTube.<\/p>\n<pre><code>function extractVideoID($url){\n\u00a0\u00a0\u00a0\u00a0$regExp = \"\/^.*((youtu.be\/)|(v\/)|(\/u\/w\/)|(embed\/)|(watch?))??v?=?([^#&amp;?]*).*\/\";\n\u00a0\u00a0\u00a0\u00a0preg_match($regExp, $url, $video);\n\u00a0\u00a0\u00a0\u00a0return $video[7];\n}<\/code><\/pre>\n<p>Nast\u0119pnie napisz metod\u0119, kt\u00f3ra wywo\u0142a wywo\u0142anie API i przetworzy odpowied\u017a. Ta odpowied\u017a zawiera\u0142aby tagi, wi\u0119c zwr\u00f3\u0107 j\u0105 t\u0105 sam\u0105 metod\u0105.<\/p>\n<pre><code>function getYTTags($api_url = '') {\n\u00a0\u00a0\u00a0\u00a0$ch = curl_init();\n\u00a0\u00a0\u00a0\u00a0curl_setopt($ch, CURLOPT_URL, $api_url);\n\u00a0\u00a0\u00a0\u00a0curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n\u00a0\u00a0\u00a0\u00a0$response = curl_exec($ch);\n\u00a0\u00a0\u00a0\u00a0$arr_result = json_decode($response);\n\u00a0\u00a0\u00a0\u00a0if (isset($arr_result-&gt;items) &amp;&amp; isset($arr_result-&gt;items[0]-&gt;snippet-&gt;tags)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return $arr_result-&gt;items[0]-&gt;snippet-&gt;tags;\n\u00a0\u00a0\u00a0\u00a0} elseif (isset($arr_result-&gt;error)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0die(\"No video tags found.\");\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Gdy u\u017cytkownik wprowadzi prawid\u0142owy adres URL wideo YouTube, musimy wywo\u0142a\u0107 <code>getYTTags<\/code>funkcj\u0119 i zbudowa\u0107 zmienn\u0105 zawieraj\u0105c\u0105 list\u0119 tag\u00f3w wideo.<\/p>\n<pre><code>$api_key = 'YOUR_API_KEY';\n$arr_tags = array();\nif (array_key_exists('ytvideo', $_GET)) {\n\u00a0\u00a0\u00a0\u00a0extract($_GET);\n\u00a0\u00a0\u00a0\u00a0$video_id = extractVideoID($ytvideo);\n\u00a0\u00a0\u00a0\u00a0$api_url = \"https:\/\/www.googleapis.com\/youtube\/v3\/videos?part=snippet&amp;id=$video_id&amp;type=video&amp;key=$api_key\";\n\u00a0\u00a0\u00a0\u00a0$arr_tags = getYTTags($api_url);\n}<\/code><\/pre>\n<p>Pami\u0119taj, aby zast\u0105pi\u0107 symbole zast\u0119pcze rzeczywistym kluczem API. Na koniec wy\u015bwietl list\u0119 tag\u00f3w w formacie HTML.<\/p>\n<pre><code>if (!empty($arr_tags)) {\n\u00a0\u00a0\u00a0\u00a0echo \"&lt;ul&gt;\";\n\u00a0\u00a0\u00a0\u00a0foreach ($arr_tags as $tag) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo \"&lt;li&gt;$tag&lt;\/li&gt;\";\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0echo \"&lt;\/ul&gt;\";\n}<\/code><\/pre>\n<h3>Kod ko\u0144cowy<\/h3>\n<p>Napisali\u015bmy kod w kawa\u0142kach. Poni\u017cej znajduje si\u0119 ostateczny kod, kt\u00f3ry mo\u017cesz skopiowa\u0107 i wykorzysta\u0107 w swojej aplikacji.<\/p>\n<pre><code>&lt;?php\n$api_key = 'YOUR_API_KEY';\n\u00a0\u00a0\nfunction getYTTags($api_url = '') {\n\u00a0\u00a0\u00a0\u00a0$ch = curl_init();\n\u00a0\u00a0\u00a0\u00a0curl_setopt($ch, CURLOPT_URL, $api_url);\n\u00a0\u00a0\u00a0\u00a0curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n\u00a0\u00a0\u00a0\u00a0$response = curl_exec($ch);\n\u00a0\u00a0\u00a0\u00a0$arr_result = json_decode($response);\n\u00a0\u00a0\u00a0\u00a0if (isset($arr_result-&gt;items) &amp;&amp; isset($arr_result-&gt;items[0]-&gt;snippet-&gt;tags)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return $arr_result-&gt;items[0]-&gt;snippet-&gt;tags;\n\u00a0\u00a0\u00a0\u00a0} elseif (isset($arr_result-&gt;error)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0die(\"No video tags found.\");\n\u00a0\u00a0\u00a0\u00a0}\n}\n\u00a0\u00a0\nfunction extractVideoID($url){\n\u00a0\u00a0\u00a0\u00a0$regExp = \"\/^.*((youtu.be\/)|(v\/)|(\/u\/w\/)|(embed\/)|(watch?))??v?=?([^#&amp;?]*).*\/\";\n\u00a0\u00a0\u00a0\u00a0preg_match($regExp, $url, $video);\n\u00a0\u00a0\u00a0\u00a0return $video[7];\n}\n\u00a0\u00a0\n$arr_tags = array();\nif (array_key_exists('ytvideo', $_GET)) {\n\u00a0\u00a0\u00a0\u00a0extract($_GET);\n\u00a0\u00a0\u00a0\u00a0$video_id = extractVideoID($ytvideo);\n\u00a0\u00a0\u00a0\u00a0$api_url = \"https:\/\/www.googleapis.com\/youtube\/v3\/videos?part=snippet&amp;id=$video_id&amp;type=video&amp;key=$api_key\";\n\u00a0\u00a0\u00a0\u00a0$arr_tags = getYTTags($api_url);\n}\n?&gt;\n\u00a0\u00a0\n&lt;form method=\"get\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input type=\"text\" name=\"ytvideo\" placeholder=\"Enter YouTube Video URL\" value=\"&lt;?php if (array_key_exists('ytvideo', $_GET)) echo $_GET['ytvideo']; ?&gt;\" required \/&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input type=\"submit\" name=\"submit\" value=\"Submit\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;\/p&gt;\n&lt;\/form&gt;\n\u00a0\u00a0\n&lt;?php\nif (!empty($arr_tags)) {\n\u00a0\u00a0\u00a0\u00a0echo \"&lt;ul&gt;\";\n\u00a0\u00a0\u00a0\u00a0foreach ($arr_tags as $tag) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo \"&lt;li&gt;$tag&lt;\/li&gt;\";\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0echo \"&lt;\/ul&gt;\";\n}<\/code><\/pre>\n<p>Wszystko sprowadza si\u0119 do uzyskiwania tag\u00f3w wideo YouTube za pomoc\u0105 interfejsu API YouTube i PHP. Podziel si\u0119 swoimi przemy\u015bleniami i sugestiami w sekcji komentarzy poni\u017cej.<\/p>\n<h4>Powi\u0105zane artyku\u0142y<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/jak-korzystac-z-interfejsu-api-youtube-do-przesylania-filmow-na-kanal-youtube\/\" title=\"Jak korzysta\u0107 z interfejsu API YouTube do przesy\u0142ania wideo na kana\u0142 YouTube?\">Jak korzysta\u0107 z interfejsu API YouTube do przesy\u0142ania wideo na kana\u0142 YouTube?<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/youtube-api-jak-uzyskac-liste-filmow-z-youtube-na-swoim-kanale\/\" title=\"YouTube API \u2013 jak uzyska\u0107 list\u0119 film\u00f3w z YouTube na swoim kanale\">YouTube API \u2013 jak uzyska\u0107 list\u0119 film\u00f3w z YouTube na swoim kanale<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/uzyskaj-liste-filmow-z-youtube-wedlug-slow-kluczowych-za-pomoca-interfejsu-api-wyszukiwania-youtube\/\" title=\"Jak uzyska\u0107 list\u0119 film\u00f3w YouTube wed\u0142ug s\u0142\u00f3w kluczowych za pomoc\u0105 interfejsu API wyszukiwania YouTube YouTube\">Jak uzyska\u0107 list\u0119 film\u00f3w YouTube wed\u0142ug s\u0142\u00f3w kluczowych za pomoc\u0105 interfejsu API wyszukiwania YouTube YouTube<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tagi wideo YouTube odgrywaj\u0105 wa\u017cn\u0105 rol\u0119 w uzyskiwaniu wi\u0119kszej liczby wy\u015bwietle\u0144 Twojego filmu. W tym artykule pokazujemy, jak uzyska\u0107 tagi w dowolnym filmie YouYube<\/p>\n","protected":false},"author":1,"featured_media":21608,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[277],"tags":[847],"class_list":["post-29570","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-8","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/29570","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/comments?post=29570"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/29570\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media\/21608"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media?parent=29570"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/categories?post=29570"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/tags?post=29570"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}