缩略图高度和宽度未返回

Thumbnail height & width not being returned

当对 API 执行搜索请求时,缩略图的高度和宽度字段不会包含在响应中,即使在字段参数中指定了也是如此。这是一个提供 API 参数的 JS 对象的示例:

{
    part: 'snippet',
    type: 'video',
    order: 'relevance',
    q: 'test',
    fields: 'items(snippet(thumbnails(high(url,height,width))))'
}

转化为以下请求URL:

https://www.googleapis.com/youtube/v3/search?order=relevance&part=snippet&q=test&fields=items(snippet(thumbnails(high(url%2Cheight%2Cwidth))))&type=video&key={YOUR_API_KEY}

此调用产生以下没有缩略图宽度或高度的响应。

{
 "items": [
  {
   "snippet": {
    "thumbnails": {
     "high": {
      "url": "https://i.ytimg.com/vi/3HKs8WTGzw8/hqdefault.jpg"
     }
    }
   }
  },
  {
   "snippet": {
    "thumbnails": {
     "high": {
      "url": "https://i.ytimg.com/vi/vW_8K_mLtsU/hqdefault.jpg"
     }
    }
   }
  },
  {
   "snippet": {
    "thumbnails": {
     "high": {
      "url": "https://i.ytimg.com/vi/4Yk-jd4BHys/hqdefault.jpg"
     }
    }
   }
  },
  {
   "snippet": {
    "thumbnails": {
     "high": {
      "url": "https://i.ytimg.com/vi/HU9mnag7vSM/hqdefault.jpg"
     }
    }
   }
  },
  {
   "snippet": {
    "thumbnails": {
     "high": {
      "url": "https://i.ytimg.com/vi/pyrH7b0zHwU/hqdefault.jpg"
     }
    }
   }
  }
 ]
}

这同样不适用于 defaultmedium 缩略图键。

如何检索这些字段?

搜索端点不会 return 这些详细信息。您必须从搜索中获取 ID returned 并再次 API 调用 videos endpoint 以获取代码段。例如

https://www.googleapis.com/youtube/v3/videos?part=snippet&id={VIDEO_ID}&key={YOUR_API_KEY}

根据 Youtube Date API (v3) Search 方法 returns 根据文档,但它无法正常工作。

现在您应该通过视频的 API 调用尝试替代方法。

URL :- https://www.googleapis.com/youtube/v3/videos?part=snippet&id={VIDEO_ID}&key={YOUR_API_KEY}

VIDEO_ID = Return 通过搜索 API

YOUR_API_KEY = Google 项目 API 键

试一试

$.get(
            "https://www.googleapis.com/youtube/v3/search",{
            order:'relevance',
            part : 'snippet', 
            type : 'video',
            q: 'test',
            key: 'XXXXXXX'},
            function(data) {
               alert(data.items.length);
               $.each( data.items, function( i, item ) {
                   pid = item.id.videoId;
                   getVids(pid);
               });
           }
         );

         //Get Videos
         function getVids(pid){
            $.get(
                 "https://www.googleapis.com/youtube/v3/videos",{
                 part : 'snippet', 
                 id : pid,
                 key: 'XXXXXXXX'},
                 function(data) {
                     //Code whatever you want 
                 }
             );
         }