2010-12-05 25 views
2

This YouTube video peut être intégrée dans la plupart des sites (par exemple, Stackoverflow), mais elle ne peut pas être intégrée dans Rap Genius. Vous pouvez l'essayer vous-même en collant le code intégré dans Rap Genius avec firebug. Vous verrez ceci:Déterminez si une vidéo YouTube ne peut pas être intégrée dans un site spécifique

je besoin d'un moyen de détecter si une vidéo est spécifiquement bloqué Genius Rap.

Notez que ceci est différent de vérifier si une vidéo ne peut pas être intégré partout - à savoir, si vous obtenez http://gdata.youtube.com/feeds/api/videos?v=2&alt=jsonc&q=_kmeFXjjGfk, vous verrez que la réponse JSON, data.items[0].accessControl.embed == 'allowed'

Un indice: avant le début de la vidéo jouer, le joueur fait une demande à une URL qui ressemble à ceci:

http://www.youtube.com/get_video_info?video_id=_kmeFXjjGfk&el=embedded&ps=default&eurl=http%3A%2F%2Frapgenius%2Ecom&hl=en_US 

ce qui, quand frisé, donne cette réponse:

status=fail&errorcode=150&reason=This+video+contains+content+from+UMG%2C+who+has+blocked+it+from+display+on+this+website.%3Cbr%2F%3E%3Cu%3E%3Ca+href%3D%27http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D_kmeFXjjGfk%26feature%3Dplayer_embedded%27+target%3D%27_blank%27%3EWatch+on+YouTube%3C%2Fa%3E%3C%2Fu%3E&fslarge=1 

Alors peut-être que je peux juste interroger cette URL? Cela fonctionnera-t-il dans tous les cas? Y a-t-il une façon "officielle" de le faire?

+1

Je n'ai jamais utilisé Rap Genius, mais d'après les informations que vous fournissez, la seule chose qui me vient à l'esprit que YouTube pourrait utiliser pour transmettre cette information est l'en-tête 'HTTP_REFERER' (qui contiendra une URL Rap Genius). Peut-être vaut la peine de jouer avec cela –

Répondre

0

Vous avez toutes les informations en http://gdata.youtube.com/feeds/api/videos?v=2&alt=jsonc&q=_kmeFXjjGfk

"status": { "valeur": "restreint", "raison": "limitedSyndication"}, "restrictions": [{ "type": "pays" , "relation": "nier", "pays": "dE"}]

19 Mars, 2013 - La réponse est maintenant tout à fait différente de celle donnée ci-dessus:

{ "apiVersion": "2.1" , "données": {"updated": "2013-03-19T14: 47: 14.533Z", "totalItems": 0, "startIndex": 1, "itemsPerPage": 25}}

+0

Il semble qu'il ne contient plus les informations de restriction. – Gerry

1

J'ai eu l'erreur : 012 J'ai remarqué que j'utilisais https lorsque je demandais la page contenant la vidéo incorporée. Revenir à http semble avoir résolu le problème.