输出Videoname和相关信息从YouTube数据API V2更新后,继续正确V3(Output

2019-10-28 19:11发布

我希望你们中的一些已经得到了这个问题的经验。 从YouTube数据API v2更新到v3之后,我得到了与缩略图和名称和视频durations.I希望有一个简单的方法的输出问题,actualy他只给我一个undefiened文字和中的链接对象的显示起来。 这是迄今为止真的需要一些帮助的感谢代码。

 // YouTube Data API base URL (JSON response)
    var url = "https://www.googleapis.com/youtube/v3/search?part=snippet&type=video&maxResults=50&key=XXXXXXXXXX"



    $.getJSON(url + "&q=" + q, function (json) {

      var count = 0;

      if (json.items) {

        var items = json.items;
        var html = "";

        items.forEach(function (item) {


            // Include the YouTube Watch URL youtu.be 
            html += '<p><a href="https://youtu.be/' + item.id + '">';

            // Add the default video thumbnail (default quality)
            html += '<img src="https://i.ytimg.com/vi/' + item.id + '/default.jpg">';

            // Add the video title and the duration
            html += '<h2>' + item.title + ' ' + item.duration + '</h2></a></p>';
            count++;

        });
      }

Answer 1:

你只需要做一些改动:

  • 相反的( item.title ),使用item.snippet.title )。
  • 相反的( item.id ),使用item.id.videoId )。
  • 不幸的是, duration属性/值不响应可用。

如果你想在视频的“时间”,你必须使用(影片)API。

网址: https://www.googleapis.com/youtube/v3/videos

检查此样本的YouTube数据API中-官方文档 。

这是上面(你会看到“持续时间”属性和值)样品的反应:

{
 "kind": "youtube#videoListResponse",
 "etag": "\"XI7nbFXulYBIpL0ayR_gDh3eu1k/8jeHCUnghfiSuxYeP5D9KDIE44Q\"",
 "pageInfo": {
  "totalResults": 1,
  "resultsPerPage": 1
 },
 "items": [
  {
   "kind": "youtube#video",
   "etag": "\"XI7nbFXulYBIpL0ayR_gDh3eu1k/wMjiWCECcoho_QWk9FLayO8Ipus\"",
   "id": "kJQP7kiw5Fk",
   "contentDetails": {
    "duration": "PT4M42S",
    "dimension": "2d",
    "definition": "hd",
    "caption": "true",
    "licensedContent": true,
    "projection": "rectangular"
   }
  }
 ]
}

这是我为得到(所做的修改代码videoIdtitle )值:

// Use your own API KEY here:
var url = "https://www.googleapis.com/youtube/v3/search?part=snippet&type=video&maxResults=5&key=YOUR_API_KEY"

// The example here will search results about "africa":
$.getJSON(url + "&q=africa", function(json) {
  var count = 0;
  var html = "";
  if (json.items) {
    var items = json.items;
    items.forEach(function(item) {

      // Include the YouTube Watch URL youtu.be 
      html += '<p><a href="https://youtu.be/' + item.id.videoId + '">';

      // Add the default video thumbnail (default quality)
      html += '<img src="https://i.ytimg.com/vi/' + item.id.videoId + '/default.jpg">';

      // Add the video title and the duration
      // N.B, unfortunately, the "duration" property/value is not available in the response.
      html += '<h2>' + item.snippet.title + ' - Duration: not available in the response</h2></a></p>';
      count++;
    });
  }

  // Add the results in the div called "myDiv".
  document.getElementById('myDiv').innerHTML = html;
})

其结果如下:

 <div id="myDiv"> <p> <a href="https://youtu.be/FTQbiNvZqaY"><img src="https://i.ytimg.com/vi/FTQbiNvZqaY/default.jpg"></a> </p> <h2><a href="https://youtu.be/FTQbiNvZqaY">Toto - Africa (Official Music Video) - Duration: N/A</a></h2> <p></p> <p> <a href="https://youtu.be/DWfY9GRe7SI"><img src="https://i.ytimg.com/vi/DWfY9GRe7SI/default.jpg"></a> </p> <h2><a href="https://youtu.be/DWfY9GRe7SI">Toto Africa Lyrics - Duration: N/A</a></h2> <p></p> <p> <a href="https://youtu.be/mk5Dwg5zm2U"><img src="https://i.ytimg.com/vi/mk5Dwg5zm2U/default.jpg"></a> </p> <h2><a href="https://youtu.be/mk5Dwg5zm2U">Weezer - Africa (starring Weird Al Yankovic) - Duration: N/A</a></h2> <p></p> <p> <a href="https://youtu.be/pRpeEdMmmQ0"><img src="https://i.ytimg.com/vi/pRpeEdMmmQ0/default.jpg"></a> </p> <h2><a href="https://youtu.be/pRpeEdMmmQ0">Shakira - Waka Waka (This Time for Africa) (The Official 2010 FIFA World Cup™ Song) - Duration: N/A</a></h2> <p></p> <p> <a href="https://youtu.be/qDLJ3pUZm9A"><img src="https://i.ytimg.com/vi/qDLJ3pUZm9A/default.jpg"></a> </p> <h2><a href="https://youtu.be/qDLJ3pUZm9A">Toto - Africa (Lyrics on screen) - Duration: N/A</a></h2> <p></p> </div> 



文章来源: Output Videoname and infos correctly after update from youtube data api v2 to v3