{"id":25887,"date":"2021-06-08T09:22:00","date_gmt":"2021-06-08T06:22:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25887"},"modified":"2021-10-18T03:04:44","modified_gmt":"2021-10-18T00:04:44","slug":"ottieni-l-elenco-dei-video-di-youtube-per-parole-chiave-utilizzando-l-api-di-ricerca-di-youtube","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/it\/ottieni-l-elenco-dei-video-di-youtube-per-parole-chiave-utilizzando-l-api-di-ricerca-di-youtube\/","title":{"rendered":"Ottieni l&#8217;elenco dei video di YouTube per parole chiave utilizzando l&#8217;API di ricerca di YouTube"},"content":{"rendered":"<p>YouTube \u00e8 il secondo motore di ricerca pi\u00f9 grande al mondo. A causa della loro popolarit\u00e0, molti siti Web integrano le funzionalit\u00e0 relative a YouTube nel loro sito Web. Ci\u00f2 include l&#8217;incorporamento di video di YouTube, pulsante di iscrizione a YouTube, galleria di video di YouTube, ricerca di video, ecc. In questo articolo, vedremo come integrare l&#8217;API di ricerca di YouTube nel sito web.<\/p>\n<p>Questo articolo spiega come implementare l&#8217;attivit\u00e0 di ricerca dei video di YouTube all&#8217;interno di un sito web. Utilizzeremo l&#8217;API di ricerca di YouTube per ottenere video in base a parole chiave, filtrarli in base alle opzioni disponibili (data, valutazione, ecc.) e visualizzare l&#8217;elenco dei video. Stamper\u00f2 il titolo del video e l&#8217;ID del video. L&#8217;utente pu\u00f2 stampare altre informazioni anche secondo le proprie esigenze.<\/p>\n<h3>Iniziare<\/h3>\n<p>Per iniziare, devi prima creare una chiave API sul tuo account Google Console. Questa chiave \u00e8 necessaria durante l&#8217;interazione con le API di YouTube. Senza questa chiave YouTube considera non autorizzate tutte le chiamate API in entrata.<\/p>\n<p>Di seguito sono riportati i passaggi per acquisire la chiave API.<\/p>\n<ul>\n<li>Vai alla Console per gli sviluppatori di 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>Crea un nuovo progetto. Facoltativamente, puoi anche selezionare un progetto esistente.<\/li>\n<li>Dai un nome al tuo progetto. Google Console creer\u00e0 per te un ID progetto univoco.<\/li>\n<li>Il tuo progetto appena creato apparir\u00e0 nella parte superiore della barra laterale sinistra.<\/li>\n<li>Fare clic su Libreria dal menu a sinistra. Vedrai un elenco di API di Google. Abilita l&#8217;API dei dati di YouTube.<\/li>\n<li>Successivamente, dal menu di sinistra, fai clic su Credenziali. Seleziona la chiave API in Crea credenziali.<\/li>\n<li>Copia questa chiave API.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20304-6081db195391c.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-20304-6081db195391c.png\" alt=\"Ottieni l&#039;elenco dei video di YouTube per parole chiave utilizzando l&#039;API di ricerca di YouTube\" ><\/a><\/p>\n<h3>Crea un&#8217;interfaccia utente<\/h3>\n<p>Per questo tutorial, creer\u00f2 un modulo in cui un utente pu\u00f2 inserire la parola chiave, scegliere un numero di video da restituire e il tipo di filtro. L&#8217;API di YouTube ha un limite di 50 record alla volta, quindi manterremo un limite di 50 sui campi numerici. Aggiungeremo l&#8217;impaginazione per ottenere il set di record successivo e precedente. In ogni risposta, YouTube fornisce valori per nextPageToken e prevPageToken, se disponibili. Utilizzando questi valori come parametro come &#8216;pageToken=PageToken_VALUE&#8217; nelle richieste HTTP GET, possiamo recuperare il set di record successivo o precedente.<\/p>\n<p>Ci sono diverse opzioni disponibili per i tipi di filtro che sono &#8216;data&#8217;, &#8216;valutazione&#8217;, &#8216;rilevanza&#8217;, &#8216;titolo&#8217;, &#8216;viewCount&#8217;. L&#8217;utente pu\u00f2 selezionarne uno e il risultato finale dipender\u00e0 dal filtro selezionato.<\/p>\n<pre><code>&lt;form method=\"get\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;input type=\"text\" name=\"q\" placeholder=\"Enter keyword\" value=\"&lt;?php if(array_key_exists('q', $_GET)) echo $_GET['q']; ?&gt;\" required&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;input type=\"number\" name=\"max_result\" placeholder=\"Max Results\" min=\"1\" max=\"50\" value=\"&lt;?php if(array_key_exists('max_result', $_GET)) echo $_GET['max_result']; ?&gt;\" required&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;?php $arr_orders = ['date', 'rating', 'relevance', 'title', 'viewCount']; ?&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;select name=\"order\" required&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;option value=\"\"&gt;--SELECT ORDER--&lt;\/option&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;?php foreach ($arr_orders as $order) { ?&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;option value=\"&lt;?php echo $order; ?&gt;\" &lt;?php if(array_key_exists('order', $_GET) &amp;&amp; ($order==$_GET['order'])) echo 'selected'; ?&gt;&gt;&lt;?php echo ucfirst($order); ?&gt;&lt;\/option&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;?php } ?&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/select&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;input type=\"submit\" value=\"Submit\"&gt;&lt;\/p&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<p>Qui abbiamo creato un modulo che ha 3 campi per inserire una parola chiave, impostare il numero di record da restituire e il tipo di filtro.<\/p>\n<h3>Integra l&#8217;API di ricerca di YouTube<\/h3>\n<p>A questo punto, siamo pronti con la nostra chiave API e il modulo HTML. Successivamente, dobbiamo ottenere i valori del modulo e passarli all&#8217;endpoint dell&#8217;API di YouTube insieme alla chiave API. Successivamente, elaboreremo la risposta finale.<\/p>\n<pre><code>&lt;?php\n$api_key = 'YOUR_API_KEY';\n\u00a0\u00a0\n$arr_list = array();\nif (array_key_exists('q', $_GET) &amp;&amp; array_key_exists('max_result', $_GET) &amp;&amp; array_key_exists('order', $_GET)) {\n\u00a0\u00a0\u00a0\u00a0$formatted_keyword = implode(\"+\", explode(\" \", $_GET['q']));\n\u00a0\u00a0\u00a0\u00a0$url = \"https:\/\/www.googleapis.com\/youtube\/v3\/search?q=$formatted_keyword&amp;order=\". $_GET['order'] .\"&amp;part=snippet&amp;type=video&amp;maxResults=\". $_GET['max_result'] .\"&amp;key=\". $api_key;\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0if (array_key_exists('pageToken', $_GET)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$url .= \"&amp;pageToken=\". $_GET['pageToken'];\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$arr_list = getYTList($url);\n}\n\u00a0\u00a0\nfunction getYTList($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)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return $arr_result;\n\u00a0\u00a0\u00a0\u00a0} elseif (isset($arr_result-&gt;error)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/print error $arr_result-&gt;error\n\u00a0\u00a0\u00a0\u00a0}\n}\n?&gt;<\/code><\/pre>\n<p>Il codice precedente controlla i parametri di query di una parola chiave, max_result e il valore dell&#8217;ordine per l&#8217;ordinamento. Prende questi valori e li passa all&#8217;endpoint API. In cambio, aggiunge la risposta alla variabile <code>$arr_list<\/code>. Esamineremo questa variabile e stamperemo le informazioni sui video.<\/p>\n<pre><code>&lt;?php\nif (!empty($arr_list)) {\n\u00a0\u00a0\u00a0\u00a0echo '&lt;ul&gt;';\n\u00a0\u00a0\u00a0\u00a0foreach ($arr_list-&gt;items as $item) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo \"&lt;li&gt;\". $item-&gt;snippet-&gt;title .\" (Video ID: \". $item-&gt;id-&gt;videoId .\")&lt;\/li&gt;\";\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0echo '&lt;\/ul&gt;';\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0$url = \"?q=\". $_GET['q'] .\"&amp;max_result=\". $_GET['max_result'] .\"&amp;order=\". $_GET['order'];\n\u00a0\u00a0\u00a0\u00a0if (isset($arr_list-&gt;prevPageToken)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo '&lt;a href=\"'.$url.'&amp;pageToken='.$arr_list-&gt;prevPageToken.'\"&gt;Previous&lt;\/a&gt;';\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0if (isset($arr_list-&gt;nextPageToken)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo '&lt;a href=\"'.$url.'&amp;pageToken='.$arr_list-&gt;nextPageToken.'\"&gt;Next&lt;\/a&gt;';\n\u00a0\u00a0\u00a0\u00a0}\n}\n?&gt;<\/code><\/pre>\n<p>Puoi inserire questo codice dopo l&#8217;HTML del modulo. Ti dar\u00e0 un elenco di titoli video, ID video insieme a link di impaginazione.<\/p>\n<p>Il nostro codice finale \u00e8 il seguente:<\/p>\n<pre><code>&lt;?php\n$api_key = 'YOUR_API_KEY';\n\u00a0\u00a0\n$arr_list = array();\nif (array_key_exists('q', $_GET) &amp;&amp; array_key_exists('max_result', $_GET) &amp;&amp; array_key_exists('order', $_GET)) {\n\u00a0\u00a0\u00a0\u00a0$formatted_keyword = implode(\"+\", explode(\" \", $_GET['q']));\n\u00a0\u00a0\u00a0\u00a0$url = \"https:\/\/www.googleapis.com\/youtube\/v3\/search?q=$formatted_keyword&amp;order=\". $_GET['order'] .\"&amp;part=snippet&amp;type=video&amp;maxResults=\". $_GET['max_result'] .\"&amp;key=\". $api_key;\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0if (array_key_exists('pageToken', $_GET)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$url .= \"&amp;pageToken=\". $_GET['pageToken'];\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$arr_list = getYTList($url);\n}\n\u00a0\u00a0\nfunction getYTList($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)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return $arr_result;\n\u00a0\u00a0\u00a0\u00a0} elseif (isset($arr_result-&gt;error)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/print error $arr_result-&gt;error\n\u00a0\u00a0\u00a0\u00a0}\n}\n?&gt;\n\u00a0\n&lt;form method=\"get\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;input type=\"text\" name=\"q\" placeholder=\"Enter keyword\" value=\"&lt;?php if(array_key_exists('q', $_GET)) echo $_GET['q']; ?&gt;\" required&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;input type=\"number\" name=\"max_result\" placeholder=\"Max Results\" min=\"1\" max=\"50\" value=\"&lt;?php if(array_key_exists('max_result', $_GET)) echo $_GET['max_result']; ?&gt;\" required&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;?php $arr_orders = ['date', 'rating', 'relevance', 'title', 'viewCount']; ?&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;select name=\"order\" required&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;option value=\"\"&gt;--SELECT ORDER--&lt;\/option&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;?php foreach ($arr_orders as $order) { ?&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;option value=\"&lt;?php echo $order; ?&gt;\" &lt;?php if(array_key_exists('order', $_GET) &amp;&amp; ($order==$_GET['order'])) echo 'selected'; ?&gt;&gt;&lt;?php echo ucfirst($order); ?&gt;&lt;\/option&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;?php } ?&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/select&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;input type=\"submit\" value=\"Submit\"&gt;&lt;\/p&gt;\n&lt;\/form&gt;\n\u00a0\n&lt;?php\nif (!empty($arr_list)) {\n\u00a0\u00a0\u00a0\u00a0echo '&lt;ul&gt;';\n\u00a0\u00a0\u00a0\u00a0foreach ($arr_list-&gt;items as $item) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo \"&lt;li&gt;\". $item-&gt;snippet-&gt;title .\" (Video ID: \". $item-&gt;id-&gt;videoId .\")&lt;\/li&gt;\";\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0echo '&lt;\/ul&gt;';\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0$url = \"?q=\". $_GET['q'] .\"&amp;max_result=\". $_GET['max_result'] .\"&amp;order=\". $_GET['order'];\n\u00a0\u00a0\u00a0\u00a0if (isset($arr_list-&gt;prevPageToken)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo '&lt;a href=\"'.$url.'&amp;pageToken='.$arr_list-&gt;prevPageToken.'\"&gt;Previous&lt;\/a&gt;';\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0if (isset($arr_list-&gt;nextPageToken)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo '&lt;a href=\"'.$url.'&amp;pageToken='.$arr_list-&gt;nextPageToken.'\"&gt;Next&lt;\/a&gt;';\n\u00a0\u00a0\u00a0\u00a0}\n}\n?&gt;<\/code><\/pre>\n<p>Spero che tu capisca l&#8217;integrazione dell&#8217;API di ricerca di YouTube nel tuo sito web. Per favore condividi i tuoi pensieri e suggerimenti nella sezione commenti qui sotto.<\/p>\n<h4>articoli Correlati<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/come-ottenere-i-tag-video-di-youtube-utilizzando-l-api-di-youtube\/\" title=\"Come ottenere i tag video di YouTube utilizzando l&#039;API di YouTube\">Come ottenere i tag video di YouTube utilizzando l&#8217;API di YouTube<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/api-di-youtube-come-ottenere-l-elenco-dei-video-di-youtube-del-tuo-canale\/\" title=\"API di YouTube - Come ottenere l&#039;elenco dei video di YouTube del tuo canale\">API di YouTube &#8211; Come ottenere l&#8217;elenco dei video di YouTube del tuo canale<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/come-ottenere-miniature-da-youtube-vimeo-e-video-dailymotion\/\" title=\"Come ottenere miniature da YouTube, Vimeo e video Dailymotion\">Come ottenere miniature da YouTube, Vimeo e video Dailymotion<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In questo articolo, studiamo come utilizzare l&#8217;API di ricerca di YouTube per ottenere l&#8217;elenco dei video per parole chiave. Cercheremo i video in base a parole chiave, filtri<\/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":[276],"tags":[846],"class_list":["post-25887","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-7","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/25887","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/comments?post=25887"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/25887\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media\/21608"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media?parent=25887"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/categories?post=25887"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/tags?post=25887"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}