I\'m trying to find the right GTLQueryYouTube parameters to filter out videos which can\'t be played on mobile (in an iOS UIWebView). The videoEmbeddable and videoSyndicated pa
One possible solution (admittedly, not very elegant) is to make two GTLQueryYouTube
calls:
videoSyndicated
off (or set to all
): search for the keyword "VEVO" in the description field of GTLYouTubeSearchResultSnippet
, return top search result
videoSyndicated
on (set to true
): best search result (with appropriate filters of your choice).
If the first query returns a null result, then you assume that there is no VEVO video, and you use the next best playable video (2).
In general there is no way to determine all playback restrictions using the API, unfortunately. We have a guide for API v2 here: http://apiblog.youtube.com/2011/12/understanding-playback-restrictions.html but no similar resource for v3 yet.
I'd recommend using the (videoEmbeddable and videoSyndicated) search restricts since this is what they're designed for. One approach is to take the user to m.youtube.com for playback of videos that are restricted from 3rd party apps. Alternatively, you can try to approach the content owner and persuade them to change the config of the content (since this is something YouTube enforces but does not configure).
About the videos you have listed specifically: