v3 api returns blocked content even with videoEmbe

2019-01-28 04:52发布

I am using v3 api and videoEmbeddable="true" in my search request.

However, when I try to play the video(s) on my webpage, it says the content is blocked to be displayed on this site. Watch it on Youtube.

Is there a parameter that I can use which will not return non-embeddable videos?

*EDIT *

Video Response:

{u'items': [{u'snippet': {u'title': u'Jerez - Yamaha Preview'}, u'contentDetails': {u'definition': u'hd', u'contentRating': {u'ytRating': u'ytAllAudiences'}, u'caption': u'false', u'duration': u'PT1M21S', u'licensedContent': True, u'dimension': u'2d'}, u'status': {u'publicStatsViewable': True, u'privacyStatus': u'public', u'uploadStatus': u'processed', u'license': u'youtube', u'embeddable': True}, u'id': u'aaR72Xf_4wc'}]}

Query:

return yt_service_v3.videos().list(
  id='aaR72Xf_4wc',
  part="id,snippet,contentDetails,status",
  fields="items(id,snippet(title),contentDetails,status)",
).execute()

This video is not embeddable on my webpage and in the response there is nothing to suggest that this video is not embeddable.

I request both contentDetails and status. I am not requesting via mobile device

Please provide pointers.

标签: youtube-api
4条回答
萌系小妹纸
2楼-- · 2019-01-28 05:38

A small subset of videos have domain-level whitelists or blacklists applied to them by their content owners. Those restrictions are not reflected in API responses.

This is what you're seeing with aaR72Xf_4wc and the relevant portion of the blog post about playback restrictions is

There are even more subtle restrictions that occasionally come into play. Not all of these are currently queryable via the API. For instance, some videos are only playable on a certain set of domains.

查看更多
家丑人穷心不美
3楼-- · 2019-01-28 05:44

You can also filter by syndication if you are accessing from a mobile device. Last but not the least there are region specific blockages.

查看更多
聊天终结者
4楼-- · 2019-01-28 05:49

Maybe you need to also include the filter for videoSyndicated. I don't know for sure though; it's a little confusing to me.

查看更多
来,给爷笑一个
5楼-- · 2019-01-28 05:53

I assume it wasn't there 2.5 years ago, but the current API does have indication for regional block, when requesting contentDetails. here's a response for such request for 2 videos, the first one is blocked and the second one is not. Note the regionRestriction key:

{u'etag': u'"iDqJ1j7zKs4x3o3ZsFlBOwgWAHU/ZqEbAZJ-JFnYX3v37ZRuhK8FFN8"',
 u'items': [{u'contentDetails': {u'caption': u'false',
    u'definition': u'sd',
    u'dimension': u'2d',
    u'duration': u'PT2M5S',
    u'licensedContent': False,
    u'regionRestriction': {u'blocked': [u'NU',
      u'BY',
      u'NP',
      u'NR',
      u'WS',
      u'TD',
      u'SY',
      u'NZ',
      u'NE',
      .
      .
      .
      u'TG']}},
   u'etag': u'"iDqJ1j7zKs4x3o3ZsFlBOwgWAHU/hM4srkgNUiZj2GtAhLDFoFrHnlk"',
   u'id': u'WGf4mSBoCzQ',
   u'kind': u'youtube#video'},
  {u'contentDetails': {u'caption': u'false',
    u'definition': u'sd',
    u'dimension': u'2d',
    u'duration': u'PT17M2S',
    u'licensedContent': False},
   u'etag': u'"iDqJ1j7zKs4x3o3ZsFlBOwgWAHU/JNjXh3lMwcaC9gtbzM-KmOQLh44"',
   u'id': u'Tw75Dt8fBBs',
   u'kind': u'youtube#video'}],
 u'kind': u'youtube#videoListResponse',
 u'pageInfo': {u'resultsPerPage': 2, u'totalResults': 2}}
查看更多
登录 后发表回答