{"id":28730,"date":"2021-06-18T14:10:00","date_gmt":"2021-06-18T11:10:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28730"},"modified":"2021-10-18T03:58:51","modified_gmt":"2021-10-18T00:58:51","slug":"como-obter-tags-de-video-do-youtube-usando-a-api-do-youtube","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pt-pt\/como-obter-tags-de-video-do-youtube-usando-a-api-do-youtube\/","title":{"rendered":"Como obter tags de v\u00eddeo do YouTube usando a API do YouTube"},"content":{"rendered":"<p>Recentemente, trabalhei em um projeto em que nosso cliente deseja obter tags de v\u00eddeos do YouTube. Eles est\u00e3o executando seu canal no YouTube e queriam um utilit\u00e1rio simples para obter tags de qualquer v\u00eddeo do YouTube usando o URL do v\u00eddeo. Neste artigo, mostro como obter tags de v\u00eddeo do YouTube usando a API do YouTube.<\/p>\n<p>Usando este utilit\u00e1rio, pode-se obter tags de qualquer v\u00eddeo do YouTube fornecendo o URL correto do v\u00eddeo. Isso pode ajudar os YouTubers a visualizar as tags usadas em seus pr\u00f3prios v\u00eddeos \/ concorrentes. Isso ir\u00e1 adicionar benef\u00edcios para descobrir as tags relevantes para seus v\u00eddeos.<\/p>\n<p>Abaixo est\u00e3o os poss\u00edveis formatos de URL de qualquer v\u00eddeo do YouTube. Voc\u00ea deve usar a correspond\u00eancia de URL com qualquer um dos formatos acima.<\/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>Come\u00e7ando<\/h3>\n<p>Para come\u00e7ar, primeiro voc\u00ea precisa obter uma chave de API de sua conta do Console do Google. Esta chave de API \u00e9 necess\u00e1ria ao interagir com as APIs do YouTube. Sem essa chave, o YouTube considera todas as chamadas de API recebidas como n\u00e3o autorizadas.<\/p>\n<p>Abaixo est\u00e3o as etapas para obter a chave API.<\/p>\n<ul>\n<li>Acesse o Google Developer Console <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>Crie um novo projeto. Opcionalmente, voc\u00ea tamb\u00e9m pode selecionar um projeto existente.<\/li>\n<li>D\u00ea um nome ao seu projeto. O console do Google criar\u00e1 um ID de projeto exclusivo para voc\u00ea.<\/li>\n<li>Seu projeto rec\u00e9m-criado aparecer\u00e1 no topo da barra lateral esquerda.<\/li>\n<li>Clique em Biblioteca no menu esquerdo. Voc\u00ea ver\u00e1 uma lista de APIs do Google. Ative a API de dados do YouTube.<\/li>\n<li>A seguir, no menu esquerdo, clique em Credenciais. Selecione a chave API em Criar credenciais.<\/li>\n<li>Copie esta chave de 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=\"Como obter tags de v\u00eddeo do YouTube usando a API do YouTube\" ><\/a><\/p>\n<p>Depois disso, crie um formul\u00e1rio simples onde voc\u00ea pode adicionar um URL de v\u00eddeo do YouTube e envi\u00e1-lo para processamento posterior.<\/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>Obtenha as tags de v\u00eddeo do YouTube usando a API do YouTube<\/h3>\n<p>Conforme mencionado antes, o YouTube oferece suporte a diferentes tipos de URLs. Precisamos examinar os diferentes formatos de URL e extrair a identifica\u00e7\u00e3o do v\u00eddeo deles.<\/p>\n<p>Vamos escrever a fun\u00e7\u00e3o que extrai o id do v\u00eddeo usando a express\u00e3o regular de um formato de URL de v\u00eddeo do YouTube compat\u00edvel.<\/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>Em seguida, escreva um m\u00e9todo que fornecer\u00e1 uma chamada de API e processar\u00e1 a resposta. Essa resposta conteria as tags, portanto, retorne-a do mesmo m\u00e9todo.<\/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>Quando um usu\u00e1rio insere um URL de v\u00eddeo v\u00e1lido do YouTube, precisamos chamar a <code>getYTTags<\/code>fun\u00e7\u00e3o e construir uma vari\u00e1vel que cont\u00e9m uma lista de tags de v\u00eddeo.<\/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>Certifique-se de substituir os marcadores de posi\u00e7\u00e3o pela sua chave de API real. Finalmente, exiba a lista de tags no formato 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>C\u00f3digo Final<\/h3>\n<p>Escrevemos o c\u00f3digo em partes. Abaixo est\u00e1 o c\u00f3digo final que voc\u00ea pode copiar e usar em seu aplicativo.<\/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>\u00c9 tudo sobre como obter tags de v\u00eddeo do YouTube usando a API do YouTube e PHP. Por favor, compartilhe seus pensamentos e sugest\u00f5es na se\u00e7\u00e3o de coment\u00e1rios abaixo.<\/p>\n<h4>Artigos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/como-usar-a-api-do-youtube-para-enviar-video-ao-canal-do-youtube\/\" title=\"Como usar a API do YouTube para carregar v\u00eddeos no canal do YouTube\">Como usar a API do YouTube para carregar v\u00eddeos no canal do YouTube<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/api-do-youtube-como-obter-uma-lista-de-videos-do-youtube-de-seu-canal\/\" title=\"API do YouTube - Como obter uma lista de v\u00eddeos do YouTube do seu canal\">API do YouTube &#8211; Como obter uma lista de v\u00eddeos do YouTube do seu canal<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/obtenha-a-lista-de-videos-do-youtube-por-palavras-chave-usando-a-api-de-pesquisa-do-youtube\/\" title=\"Como obter a lista de v\u00eddeos do YouTube por palavras-chave usando a API de pesquisa do YouTube\">Como obter a lista de v\u00eddeos do YouTube por palavras-chave usando a API de pesquisa do YouTube<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>As tags de v\u00eddeo do YouTube est\u00e3o desempenhando um papel importante na obten\u00e7\u00e3o de mais visualiza\u00e7\u00f5es para o seu v\u00eddeo. Neste artigo, mostramos como obter tags em qualquer v\u00eddeo do 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":[278],"tags":[848],"class_list":["post-28730","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-9","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/28730","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/comments?post=28730"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/28730\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media\/21608"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media?parent=28730"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/categories?post=28730"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/tags?post=28730"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}