{"id":25981,"date":"2021-06-18T13:42:00","date_gmt":"2021-06-18T10:42:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25981"},"modified":"2021-10-17T20:15:36","modified_gmt":"2021-10-17T17:15:36","slug":"kuinka-hankkia-youtube-videotunnisteet-youtube-sovellusliittyman-avulla","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fi\/kuinka-hankkia-youtube-videotunnisteet-youtube-sovellusliittyman-avulla\/","title":{"rendered":"Kuinka hankkia YouTube-videotunnisteet YouTube-sovellusliittym\u00e4n avulla"},"content":{"rendered":"<p>Viime aikoina ty\u00f6skentelin projektissa, jossa asiakkaamme haluaa saada tunnisteita YouTube-videoista. He k\u00e4ytt\u00e4v\u00e4t YouTube-kanavaaan ja halusivat yksinkertaisen apuohjelman hakemaan tunnisteet kaikista YouTube-videoista videon URL-osoitteen avulla. T\u00e4ss\u00e4 artikkelissa n\u00e4yt\u00e4n sinulle, miten voit hankkia YouTube-videotunnisteita YouTube-sovellusliittym\u00e4n avulla.<\/p>\n<p>T\u00e4m\u00e4n apuohjelman avulla voi saada tunnisteita kaikista YouTube-videoista, joissa on oikea video-URL. T\u00e4m\u00e4 voi auttaa YouTubereita tarkastelemaan omissa \/ kilpailevien videoissaan k\u00e4ytettyj\u00e4 tunnisteita. Se lis\u00e4\u00e4 etuja, kun selvitet\u00e4\u00e4n heid\u00e4n videoihinsa liittyv\u00e4t tunnisteet.<\/p>\n<p>Alla ovat mink\u00e4 tahansa YouTube-videon mahdolliset URL-muodot. Sinun on k\u00e4ytett\u00e4v\u00e4 URL-osoitetta, joka vastaa mit\u00e4 tahansa yll\u00e4 mainituista muodoista.<\/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>P\u00e4\u00e4st\u00e4 alkuun<\/h3>\n<p>Aloittamiseksi sinun on ensin hankittava sovellusliittym\u00e4avain Google Console -tililt\u00e4si. T\u00e4m\u00e4 sovellusliittym\u00e4avain on v\u00e4ltt\u00e4m\u00e4t\u00f6n, kun se on vuorovaikutuksessa YouTube-sovellusliittymien kanssa. Ilman t\u00e4t\u00e4 avainta YouTube pit\u00e4\u00e4 kaikkia saapuvia API-puheluja luvattomina.<\/p>\n<p>Alla on vaiheet API-avaimen nappaamiseksi.<\/p>\n<ul>\n<li>Siirry Google Developer Consoleen <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>Luo uusi projekti. Vaihtoehtoisesti voit my\u00f6s valita olemassa olevan projektin.<\/li>\n<li>Anna projektillesi nimi. Google Console luo sinulle yksil\u00f6llisen projektitunnuksen.<\/li>\n<li>Uusi luomasi projekti n\u00e4kyy vasemman sivupalkin yl\u00e4osassa.<\/li>\n<li>Napsauta vasemmasta valikosta Kirjasto. N\u00e4et luettelon Google-sovellusliittymist\u00e4. Ota k\u00e4ytt\u00f6\u00f6n YouTube Data -sovellusliittym\u00e4.<\/li>\n<li>Napsauta sitten vasemmanpuoleisesta valikosta Tunnistetiedot. Valitse API-avain Luo kirjautumistiedot -kohdasta.<\/li>\n<li>Kopioi t\u00e4m\u00e4 API-avain.<\/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=\"Kuinka hankkia YouTube-videotunnisteet YouTube-sovellusliittym\u00e4n avulla\" ><\/a><\/p>\n<p>T\u00e4m\u00e4n j\u00e4lkeen luo yksinkertainen lomake, johon voit lis\u00e4t\u00e4 YouTube-videon URL-osoitteen ja l\u00e4hett\u00e4\u00e4 sen jatkok\u00e4sittely\u00e4 varten.<\/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>Hanki YouTube-videotunnisteet YouTube-sovellusliittym\u00e4n avulla<\/h3>\n<p>Kuten aiemmin mainittiin, YouTube tukee erityyppisi\u00e4 URL-osoitteita. Meid\u00e4n on tutkittava erilaisia \u200b\u200bURL-muotoja ja purettava niist\u00e4 videotunnus.<\/p>\n<p>Kirjoitetaan toiminto, joka poimii videotunnuksen s\u00e4\u00e4nn\u00f6llisen lausekkeen avulla tuetusta YouTube-videon URL-muodosta.<\/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>Kirjoita seuraavaksi menetelm\u00e4, joka antaa API-kutsun ja k\u00e4sittelee vastauksen. T\u00e4m\u00e4 vastaus sis\u00e4lt\u00e4isi tunnisteet, joten palauta se samasta menetelm\u00e4st\u00e4.<\/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>Kun k\u00e4ytt\u00e4j\u00e4 antaa kelvollisen YouTube-videon URL-osoitteen, meid\u00e4n on soitettava <code>getYTTags<\/code>toiminto ja rakennettava muuttuja, joka sis\u00e4lt\u00e4\u00e4 luettelon videotageista.<\/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>Muista korvata paikkamerkit todellisella API-avaimella. N\u00e4yt\u00e4 lopuksi tunnisteiden luettelo HTML-muodossa.<\/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>Lopullinen koodi<\/h3>\n<p>Olemme kirjoittaneet koodin palasiksi. Alla on lopullinen koodi, jonka voit kopioida ja k\u00e4ytt\u00e4\u00e4 sovelluksessasi.<\/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>Kyse on YouTube-videotunnisteiden hankkimisesta YouTube-sovellusliittym\u00e4n ja PHP: n avulla. Jaa ajatuksesi ja ehdotuksesi alla olevassa kommenttiosassa.<\/p>\n<h4>Aiheeseen liittyv\u00e4t artikkelit<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/kuinka-kayttaa-youtube-sovellusliittymaa-videon-lataamiseen-youtube-kanavalle\/\" title=\"Kuinka k\u00e4ytt\u00e4\u00e4 YouTube-sovellusliittym\u00e4\u00e4 videon lataamiseen YouTube-kanavalle\">Kuinka k\u00e4ytt\u00e4\u00e4 YouTube-sovellusliittym\u00e4\u00e4 videon lataamiseen YouTube-kanavalle<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/youtube-sovellusliittyma-kuinka-saada-luettelo-kanavasi-youtube-videoista\/\" title=\"YouTube-sovellusliittym\u00e4 - Kuinka saada luettelo kanavasi YouTube-videoista\">YouTube-sovellusliittym\u00e4 &#8211; Kuinka saada luettelo kanavasi YouTube-videoista<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/hanki-youtube-videoluettelo-avainsanojen-mukaan-kayttamalla-youtube-hakusovellusliittymaa\/\" title=\"Kuinka saada YouTube-videoluettelo avainsanoilla YouTube-hakusovellusliittym\u00e4n avulla\">Kuinka saada YouTube-videoluettelo avainsanoilla YouTube-hakusovellusliittym\u00e4n avulla<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>YouTube-videotunnisteilla on t\u00e4rke\u00e4 rooli saada enemm\u00e4n katselukertoja videollesi. T\u00e4ss\u00e4 artikkelissa n\u00e4yt\u00e4mme, kuinka voit saada tunnisteita mihin tahansa YouYube-videoon<\/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":[275],"tags":[843],"class_list":["post-25981","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-6","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/25981","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/comments?post=25981"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/25981\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media\/21608"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media?parent=25981"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/categories?post=25981"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/tags?post=25981"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}