- Home
- Categorie
- Digital Marketing
- YouTube
- API di YouTube: riusciamo a fare un sito per piccole statistiche?
-
La url che si può usare per fare test è questa https://www.youtube.com/marcoallemandi
-
ricerca con impostato q = "montymonty" perché il canale si chiama così: https://www.youtube.com/user/montymonty
Il problema è che il risultato non è sicuro.. la query è generica..."snippet":{ "publishedAt":"2020-07-18T13:27:49Z", "channelId":"UCEtNvlaXQLvkSXAHtaJhh4w", "title":"Monty Monty", "description":"", "thumbnails":{ "default":{ "url":"https://yt3.ggpht.com/ytc/AAUvwnhUItrrq3g59O9omP_6OU4xM0aFnV0vVw_JVg=s88-c-k-c0xffffffff-no-rj-mo" }, "medium":{ "url":"https://yt3.ggpht.com/ytc/AAUvwnhUItrrq3g59O9omP_6OU4xM0aFnV0vVw_JVg=s240-c-k-c0xffffffff-no-rj-mo" }, "high":{ "url":"https://yt3.ggpht.com/ytc/AAUvwnhUItrrq3g59O9omP_6OU4xM0aFnV0vVw_JVg=s800-c-k-c0xffffffff-no-rj-mo" } }, "channelTitle":"Monty Monty", "liveBroadcastContent":"none", "publishTime":"2020-07-18T13:27:49Z" } }, { "kind":"youtube#searchResult", "etag":"K1yX7M5meFUHrCW8yaJCHEh3yM8", "id":{ "kind":"youtube#channel", "channelId":"UCmyQybBZUNUYV2RKxff-ADg" }, "snippet":{ "publishedAt":"2020-04-03T00:49:32Z", "channelId":"UCmyQybBZUNUYV2RKxff-ADg", "title":"Monty Monty", "description":"", "thumbnails":{ "default":{ "url":"https://yt3.ggpht.com/ytc/AAUvwnibFR80MPGMYhKyWS80jJB4ov8ttLf_vxgQ3w=s88-c-k-c0xffffffff-no-rj-mo" }, "medium":{ "url":"https://yt3.ggpht.com/ytc/AAUvwnibFR80MPGMYhKyWS80jJB4ov8ttLf_vxgQ3w=s240-c-k-c0xffffffff-no-rj-mo" }, "high":{ "url":"https://yt3.ggpht.com/ytc/AAUvwnibFR80MPGMYhKyWS80jJB4ov8ttLf_vxgQ3w=s800-c-k-c0xffffffff-no-rj-mo" } }, "channelTitle":"Monty Monty", "liveBroadcastContent":"none", "publishTime":"2020-04-03T00:49:32Z" } } ] }
Da quello che vedo esistono poi custom url differenti:
https://www.youtube.com/user/CUSTOMURL
https://www.youtube.com/c/CUSTOMURL
https://www.youtube.com/CUSTOMURLLa cosa corretta secondo me è far inserire all'utente il "nome del canale" così non crei confusione.
In alternativa lavori su un CURL dell'indirizzo e lo estrai:https://yt.massarutto.it/tools/?q=https://www.youtube.com/user/montymonty
https://yt.massarutto.it/tools/?q=https://www.youtube.com/channel/UCScQBgxPzufuP1MMRpD99KA
https://yt.massarutto.it/tools/?q=https://www.youtube.com/montymonty
-
https://yt.massarutto.it/tools/?q=https://www.youtube.com/marcoallemandi
Channel_ID: UCSr7TlTz3j40VLkyY_6lmEg
-
Se fai una ricerca "q" per marcoallemandi allora ci riesci... perché hai un solo risultato...
Però è una cosa un po' troppo "randomica" secondo me{ "kind": "youtube#searchListResponse", "etag": "Iep9Vl4AAtdumKquGhH6vkzYyPU", "regionCode": "IT", "pageInfo": { "totalResults": 1, "resultsPerPage": 1 }, "items": [ { "kind": "youtube#searchResult", "etag": "pyYEhpKVMJNgrnMDC2k6t2qe5bE", "id": { "kind": "youtube#channel", "channelId": "UCSr7TlTz3j40VLkyY_6lmEg" }, "snippet": { "publishedAt": "2008-02-17T13:31:56Z", "channelId": "UCSr7TlTz3j40VLkyY_6lmEg", "title": "Home Recording By Marco Allemandi", "description": "Quando lavoro in studio, ci metto passione, per questo motivo cerco sempre di tenermi aggiornato sul mondo della musica, degli strumenti musicali e sopratutto ...", "thumbnails": { "default": { "url": "https://yt3.ggpht.com/ytc/AAUvwnhlzrDbUV9bLI2zoKj7WHDyaNg9Jc5ndqjrZOWF-sc=s88-c-k-c0xffffffff-no-rj-mo" }, "medium": { "url": "https://yt3.ggpht.com/ytc/AAUvwnhlzrDbUV9bLI2zoKj7WHDyaNg9Jc5ndqjrZOWF-sc=s240-c-k-c0xffffffff-no-rj-mo" }, "high": { "url": "https://yt3.ggpht.com/ytc/AAUvwnhlzrDbUV9bLI2zoKj7WHDyaNg9Jc5ndqjrZOWF-sc=s800-c-k-c0xffffffff-no-rj-mo" } }, "channelTitle": "Home Recording By Marco Allemandi", "liveBroadcastContent": "none", "publishTime": "2008-02-17T13:31:56Z" } } ] }
-
Si, vedo, il problema era solo per chi avesse una url personalizzata e non riuscisse a trovare l'ID che rimane sempre l'unico valore affidabile, usare il nome della pagina lo avevo già scartato inizialmente perché se cambia nel tempo perdiamo consistenza con i dati.
Per quel canale avevo risolto manualmente ed è ok, volevo vedere di trovare una alternativa per automatizzare la cosa, anche se a dirla tutta è successo solo una volta.
Quindi il problema è che se la url personalizzata non combacia con il nome del canale è un problema e andrebbe comunque verificato manualmente.
Ad ogni modo per tagliare la testa al toro posso cambiare la regola nel form usando una regex con UC nella stringa, vedo che sono tutte così, se qualcuno poi ha problemi lo inseriamo manualmente.
1 Risposta -
@overclokk
riusciamo a fare una chiamata alla mia pagina? e ti restituisco il channelID ?
1 Risposta -
Poi, altra cosa per @giorgiotave nel nome utente qui su connect quali caratteri non sono permessi?
-
potrei rispondere semplicemente con il channelid o con un KO
già operativo
-
@mirkomassarutto Per fare si può fare con FetchUrl ma poi il sistema avrà una dipendenza da un sistema esterno che ha bisogno di una chiave API per funzionare, se poi vogliomo replicare la struttura per fare altro diventa un problema.
-
@mirkomassarutto secondo me il tuo tool potrebbe diventare una cosa simile https://commentpicker.com/youtube-channel-id.php
-
Stavo facendo un check sulle url degli iscritti per vedere fosse tutto ok poi con questa https://connect.gt/topic/240781/marketing-seo-bananasponsor ho notato un problema con il numero dei video dichiarati nella discussione (186) e il numero effettivo restituito dalle API (76), poi ho fatto un controllo ed effettivamente molti dei video sono stati eliminati (non c'è altra spiegazione, le API non mentono ).
Teniamo in considerazione che potrebbe ricapitare e si potrebbe falsare il dato, ovviamente facendo un prelievo dei dati settimanale si può vedere se capita nuovamente.
Per quanto riguarda il numero degli iscitti non visibile neanche nella API ci sono due soluzioni, la prima più semplice, si obbliga con la frusta l'utente a renderli pubblici , la seconda si potrebbe fare lo scraping delle discussioni per trovare il dato ma è un macello se il dato è formattato in modo diverso ogni volta.
2 Risposte -
part sippet contentDetails statistics
in statistics hai
"viewCount": "0",
"subscriberCount": "2",
"hiddenSubscriberCount": false,
"videoCount": "0"{
"kind": "youtube#channelListResponse",
"etag": "TYs7A3Wf2zUCzxwr5Efah1dU_Zw",
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 5
},
"items": [
{
"kind": "youtube#channel",
"etag": "Z2sx9BCRzxVnTdrIc4-vMRw7AeM",
"id": "UC0UY_n7One4I6oWBzLsUhQw",
"snippet": {
"title": "BarDigitale",
"description": "Si parla di novità dalla rete, ma impariamo anche come realizzare siti internet ben strutturati dal punto di vista del codice con "pillole" su HTML5, CSS e JQuery\nTratteremo poi di argomenti generali sulla SEO e la SEO Local mostrando tecniche e strumenti per realizzare e "posizionare" un sito internet... un po' come quando mi trovo al Bar con i "piccoli imprenditori" del paese e mi chiedono "come faccio a far questo"?\n",
"publishedAt": "2019-10-17T21:22:52.039249Z",
"thumbnails": {
"default": {
"url": "https://yt3.ggpht.com/ytc/AAUvwnj2ofQZFaXTtiQdcOcxXyejU0CeMRfCc8ZsQnXe=s88-c-k-c0x00ffffff-no-rj",
"width": 88,
"height": 88
},
"medium": {
"url": "https://yt3.ggpht.com/ytc/AAUvwnj2ofQZFaXTtiQdcOcxXyejU0CeMRfCc8ZsQnXe=s240-c-k-c0x00ffffff-no-rj",
"width": 240,
"height": 240
},
"high": {
"url": "https://yt3.ggpht.com/ytc/AAUvwnj2ofQZFaXTtiQdcOcxXyejU0CeMRfCc8ZsQnXe=s800-c-k-c0x00ffffff-no-rj",
"width": 800,
"height": 800
}
},
"localized": {
"title": "BarDigitale",
"description": "Si parla di novità dalla rete, ma impariamo anche come realizzare siti internet ben strutturati dal punto di vista del codice con "pillole" su HTML5, CSS e JQuery\nTratteremo poi di argomenti generali sulla SEO e la SEO Local mostrando tecniche e strumenti per realizzare e "posizionare" un sito internet... un po' come quando mi trovo al Bar con i "piccoli imprenditori" del paese e mi chiedono "come faccio a far questo"?\n"
}
},
"contentDetails": {
"relatedPlaylists": {
"likes": "",
"favorites": "",
"uploads": "UU0UY_n7One4I6oWBzLsUhQw"
}
},
"statistics": {
"viewCount": "0",
"subscriberCount": "2",
"hiddenSubscriberCount": false,
"videoCount": "0"
}
}
]
}
1 Risposta -
@mirkomassarutto Ma non mettere tutto il json che poi non si capisce più nulla
E poi a cosa ti riferisci in particolare?
-
@overclokk ha detto in API di YouTube: riusciamo a fare un sito per piccole statistiche?:
Per quanto riguarda il numero degli iscitti non visibile neanche nella API
vedo dallo script che già richiamio il channel con part "statistics"
quello dovrebbe restituire
"viewCount": "0",
"subscriberCount": "2",
"hiddenSubscriberCount": false,
"videoCount": "0"
1 Risposta -
non capisco dove usi la funzione fetchChannelInfoFromYoutubeAPI
function fetchChannelInfoFromYoutubeAPI( id ) { const response = YouTube.Channels.list(['snippet, contentDetails, statistics, topicDetails'], { id }); return response.items[0]; }
che vedo dichiarata in channel-info
1 Risposta -
@mirkomassarutto se "hiddenSubscriberCount" è true ciccia, da null
1 Risposta -
@overclokk ah ok ora ho capito cosa intendevi sorry sono stordito
1 Risposta -
Le API funzionano bene, se l'utente ha nascosto la visualizzazione del numero di iscritti rimane un valore null, non ci possiamo fare nulla in quel caso.
-
@mirkomassarutto ha detto in API di YouTube: riusciamo a fare un sito per piccole statistiche?:
@overclokk ah ok ora ho capito cosa intendevi sorry sono stordito
Ok, pensavo di essermi spiegato
-
ovvio.. possiamo fustigarlo?
1 Risposta