Youtube api不显示少数视频的播放列表缩略图

Dan*_*har 2 youtube youtube-api youtube-javascript-api

这就是我从每条记录的响应中获取缩略图的方法

data.items[i].snippet.thumbnails.high.url
Run Code Online (Sandbox Code Playgroud)

但对于一些视频我只是得到默认图像

https://i.ytimg.com/vi/default.jpg
Run Code Online (Sandbox Code Playgroud)

而不是例子

https://i1.ytimg.com/vi/umgK1_5Dcw4/hqdefault.jpg
Run Code Online (Sandbox Code Playgroud)

我如何解决此问题缩略图在我的YouTube频道中可见

小智 5

我最近经历了同样的事情并且拔了我的头发.问题是播放列表中没有设置正确缩略图的视频在YouTube网站上设置为不公开.一旦视频公开,就会出现正确的缩略图.

我遇到的另一个问题是,如果缩略图不起作用,缩略图的整个结构有不同的键.

在缩略图工作的Feed中,我们看到了这种结构:

"thumbnails": {
     "default": {
      "url": "https://i.ytimg.com/vi/XXXXX/default.jpg",
      "width": 120,
      "height": 90
     },
     "medium": {
      "url": "https://i.ytimg.com/vi/XXXXX/mqdefault.jpg",
      "width": 320,
      "height": 180
     },
     "high": {
      "url": "https://i.ytimg.com/vi/XXXXX/hqdefault.jpg",
      "width": 480,
      "height": 360
     },
     "standard": {
      "url": "https://i.ytimg.com/vi/XXXXX/sddefault.jpg",
      "width": 640,
      "height": 480
     },
     "maxres": {
      "url": "https://i.ytimg.com/vi/XXXXX/maxresdefault.jpg",
      "width": 1280,
      "height": 720
     }
Run Code Online (Sandbox Code Playgroud)

没有缩略图的项目如下所示:

"thumbnails": {
     "default": {
      "url": "https://i.ytimg.com/vi/default.jpg"
     },
     "medium": {
      "url": "https://i.ytimg.com/vi/default.jpg"
     },
     "high": {
      "url": "https://i.ytimg.com/vi/default.jpg"
     }
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我一直在寻找标准大小的缩略图和高度和宽度,这在非工作代码中不存在,这当然导致了一个空对象并使应用程序崩溃.