Does anyone know how to check if a Youtube video is embeddable using the Youtube API? I've tried using this URL:
http://gdata.youtube.com/feeds/api/videos/47z7i79NuK8
but the response I get, pasted below, doesn't seem to have a field for embeddable?
entry:
rating:
rel: http://schemas.google.com/g/2005#overall
max: "5"
min: "1"
average: "4.744681"
numRaters: "94"
group:
duration:
seconds: "47"
player:
url: http://www.youtube.com/watch?v=47z7i79NuK8&feature=youtube_gdata_player
category: Entertainment
title: "Sesame Street: P is For Princess available everywhere on DVD!"
thumbnail:
- time: "00:00:23.500"
url: http://i.ytimg.com/vi/47z7i79NuK8/2.jpg
height: "90"
width: "120"
- time: "00:00:11.750"
url: http://i.ytimg.com/vi/47z7i79NuK8/1.jpg
height: "90"
width: "120"
- time: "00:00:35.250"
url: http://i.ytimg.com/vi/47z7i79NuK8/3.jpg
height: "90"
width: "120"
- time: "00:00:23.500"
url: http://i.ytimg.com/vi/47z7i79NuK8/0.jpg
height: "240"
width: "320"
content:
duration: "47"
medium: video
yt:format: "5"
isDefault: "true"
url: http://www.youtube.com/v/47z7i79NuK8?f=videos&app=youtube_gdata
expression: full
type: application/x-shockwave-flash
description: |-
"Once upon a time on Sesame Street, there lived a fairy-in-training named Abby Cadabby, and she loved playing princess with friends like Rosita. But what happens when a misguided Prince (actor Paul Rudd) tries to rescue them? Pretending and the Letter P are the focus of this enchanting title, which also features fun with Natalie Portman and Elmo in "The Princess and The Elephant." This DVD also includes two bonus episodes of Sesame Street's new animated show, Abby's Flying Fairy School."
www.sesamestreet.org/princess
keywords: sesame street, muppets, princess, dvd, abby, abby's flying fairy school
control:
state: Syndication of this video was restricted by its owner.
category:
- term: http://gdata.youtube.com/schemas/2007#video
scheme: http://schemas.google.com/g/2005#kind
- label: Entertainment
term: Entertainment
scheme: http://gdata.youtube.com/schemas/2007/categories.cat
- term: sesame street
scheme: http://gdata.youtube.com/schemas/2007/keywords.cat
- term: muppets
scheme: http://gdata.youtube.com/schemas/2007/keywords.cat
- term: princess
scheme: http://gdata.youtube.com/schemas/2007/keywords.cat
- term: dvd
scheme: http://gdata.youtube.com/schemas/2007/keywords.cat
- term: abby
scheme: http://gdata.youtube.com/schemas/2007/keywords.cat
- term: abby's flying fairy school
scheme: http://gdata.youtube.com/schemas/2007/keywords.cat
comments:
feedLink:
href: http://gdata.youtube.com/feeds/api/videos/47z7i79NuK8/comments
countHint: "80"
author:
name: SesameStreet
uri: http://gdata.youtube.com/feeds/api/users/sesamestreet
title: "Sesame Street: P is For Princess available everywhere on DVD!"
statistics:
favoriteCount: "43"
viewCount: "6003"
published: "2010-10-08T19:18:09.000Z"
xmlns:yt: http://gdata.youtube.com/schemas/2007
id: http://gdata.youtube.com/feeds/api/videos/47z7i79NuK8
xmlns:gd: http://schemas.google.com/g/2005
content: |-
"Once upon a time on Sesame Street, there lived a fairy-in-training named Abby Cadabby, and she loved playing princess with friends like Rosita. But what happens when a misguided Prince (actor Paul Rudd) tries to rescue them? Pretending and the Letter P are the focus of this enchanting title, which also features fun with Natalie Portman and Elmo in "The Princess and The Elephant." This DVD also includes two bonus episodes of Sesame Street's new animated show, Abby's Flying Fairy School."
www.sesamestreet.org/princess
link:
- href: http://www.youtube.com/watch?v=47z7i79NuK8&feature=youtube_gdata
rel: alternate
type: text/html
- href: http://gdata.youtube.com/feeds/api/videos/47z7i79NuK8/related
rel: http://gdata.youtube.com/schemas/2007#video.related
type: application/atom+xml
- href: http://gdata.youtube.com/feeds/api/videos/47z7i79NuK8
rel: self
type: application/atom+xml
xmlns:media: http://search.yahoo.com/mrss/
updated: "2010-10-10T06:36:39.000Z"
xmlns:app: http://purl.org/atom/app#
xmlns: http://www.w3.org/2005/Atom
Looking at the YouTube API reference, it appears you have a couple choices:
Specify the "FORMAT" parameter when searching for a clip:
Or reference the yt:accessControl element:
Syntax would look something like
<yt:accessControl action='embed' permission='allowed'/>
So in your example it looks like the line
yt:format: "5"
tells you the clip can be embedded.The XML should include
<yt:noembed/>
if the video isn't embeddable. Example.If you can use the new object-free way of showing a video you'll see that almost every video not viewable with the object tag now work flawlessy.
Syntax is:
<iframe class="youtube-player" width="340" height="220" src="http://www.youtube.com/embed/YER_VIDEO_ID_HERE" frameborder="0"></iframe>
You can't trust yt:accessControl at this time.
As of the YouTube V3 API, there is an
embeddable
field in the status part.E.g. https://www.googleapis.com/youtube/v3/videos?id=6CQEZ_kas0I&key=[yourkey]&part=snippet,contentDetails,status
In YouTube V3 API, to return only videos that are embeddable, add
videoEmbeddable=true
parameter. You must also usetype=video
for this to work.