缩略图高度&宽度未退回

时间:2015-05-26 17:55:42

标签: youtube-api youtube-data-api

在对API执行搜索请求时,高度&即使在fields参数中指定,缩略图的宽度字段也不包含在响应中。以下是提供API参数的JS对象的示例:

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

转换为以下请求网址:

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缩略图键。

如何检索这些字段?

2 个答案:

答案 0 :(得分:3)

搜索端点不会返回这些详细信息。您必须获取搜索返回的ID,并对代码段的videos endpoint执行另一次API调用。例如

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

答案 1 :(得分:0)

根据Youtube Date API (v3) Search方法按文档返回但不能正常工作。

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

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

VIDEO_ID =按搜索API返回

YOUR_API_KEY = Google Project 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 
                 }
             );
         }