2015-05-12 11 views
9

Ho un sito Web che memorizza le playlist degli utenti, ma a volte i video che una volta erano utilizzabili vengono rimossi a causa di violazioni del copyright, o vengono cancellati. Desidero che il mio sito Web rilevi automaticamente quando ciò accade, quindi può eliminare il video o sostituirlo. Ho fatto molte ricerche cercando di capirlo, ma niente funziona. per esempio, la richiesta di dati api per l'ID video di youtube IcmTyiVkhGk (che non è disponibile a causa del copyright) non ha una variabile di stato yt: (che indicherebbe che è limitata), sotto controllo di accesso, non dice limitato o qualcosa di simile. Come controllate questo tipo di dati?Come controllare se un video di YouTube è bloccato/limitato/cancellato

http://gdata.youtube.com/feeds/api/videos/IcmTyiVkhGk?v=2&prettyprint=true

fondamentalmente usando questo per ottenere i dati, ma nessun dato rilevante è lì non credo.

questo sito è in grado di rilevare quali regioni il sito è disponibile in: http://polsy.org.uk/stuff/ytrestrict.cgi?ytid=IcmTyiVkhGk Qualcuno sa come funziona?

risposta

9

Utilizzare l'API v3. https://developers.google.com/youtube/v3/docs/videos/list

La tua domanda è in 2 parti.

  1. Per verificare se i video sono stati rimossi da YouTube, inviare un video: richiesta di elenco con l'ID video (s). Per un singolo ID, è sufficiente verificare se totalResults è 0. Se si controllano più ID video contemporaneamente, scorrere la risposta degli articoli per vedere quali ID video esistono ancora su YouTube.

Esempio:

GET https://www.googleapis.com/youtube/v3/videos?part=id&id=abcdefghijklm&key={YOUR_API_KEY} 

{ 
"kind": "youtube#videoListResponse", 
"etag": "\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/qFRkUhSdCF83BrjXm7uub8slGsk\"", 
"pageInfo": { 
    "totalResults": 0, 
    "resultsPerPage": 0 
}, 
"items": [ 
] 
} 
  1. Per verificare per le restrizioni di accesso, inviare un video: richiesta di lista per contentDetails.

Esempio:

GET https://www.googleapis.com/youtube/v3/videos?part=contentDetails&id=IcmTyiVkhGk&key={YOUR_API_KEY} 

Sotto articoli [] Avrete verificare la presenza di

"regionRestriction": { 
"blocked": [ 
    "QA", 
    "AW", 
    "IN", 
    etc. 
    ] 
    } 
+0

esattamente quello che ho finito per fare. Grazie. – theprogrammer311

+2

Sembra funzionante, perché hai inserito un falso ID. se provi uno disabilitato reale, non funzionerà. –

+0

è necessario chiedere la parte dello stato, conterrà 'uploadStatus: respinto' per i video rimossi, con un motivo in' rejectionStatus' –

0

Ho anche un sito che condividono alcune delle vostre caratteristiche. Io uso il codice php per caricare la pagina di YouTube del video e quindi analizzare il codice sorgente per trovare la parola chiave "Mi dispiace per quello". Posso controllare circa 1.1k video in pochi secondi. Se hai tempo per le chiamate, non è sufficiente passare come attacco DDOS.

Tuttavia, questo metodo non rileva le restrizioni dell'area.

Problemi correlati