【问题标题】:How to retrieve a YouTube video's tags with YouTube v3 API?如何使用 YouTube v3 API 检索 YouTube 视频的标签?
【发布时间】:2013-04-20 20:49:13
【问题描述】:

我想使用 v3 的 YouTube API 检索特定 YouTube 视频的标签。

我能够通过此请求检索到搜索端点 https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=1&q=cats&type=video&key={YOUR_API_KEY} 的视频。

现在我点击了视频端点,试图从上述查询中获取视频的标签。 https://www.googleapis.com/youtube/v3/videos?id=IytNBm8WA1c&part=snippet&key={YOUR_API_KEY}

响应,

{
 "kind": "youtube#videoListResponse",
 "etag": "\"PMn2rAVTRiZHkX45qiqfcLZoTXM/rYBuk4KeZFmSMoiSuaXfy6-Pm28\"",
 "items": [
  {

   "id": "IytNBm8WA1c",
   "kind": "youtube#video",
   "etag": "\"PMn2rAVTRiZHkX45qiqfcLZoTXM/_6K6Qz8rLYf0d5gUnucV1LwbwU4\"",
   "snippet": {
    "publishedAt": "2007-07-09T14:02:03.000Z",
    "channelId": "UCFMV3DqmnaRc4oNGvi-3OvQ",
    "title": "Funny Cats",
    "description": "it's soo funny :D\r\n\r\naudio content is licensed by UMG\r\n\r\nSong 1: Gioachino Rossini - The Thieving Magpie  0:00 - 1:37\r\nSong 2: The Presidents of the United States of America - Kitty  1:38 - 2:47\r\nSong 3: The Nutcracker  2:48 - 3:51\r\nSong 4: Smash Mouth - All Star  3:51 - 7:06\r\nSong 5: The Wiseguys - Ooh La La  7:07 - 7:43\r\n\r\nPS: i will ignore messages with the subject\r\n\"Business Proposal Regarding Your YouTube Videos\"",
    "thumbnails": {
     "default": {
      "url": "https://i.ytimg.com/vi/IytNBm8WA1c/default.jpg"
     },
     "medium": {
      "url": "https://i.ytimg.com/vi/IytNBm8WA1c/mqdefault.jpg"
     },
     "high": {
      "url": "https://i.ytimg.com/vi/IytNBm8WA1c/hqdefault.jpg"
     }
    },
    "channelTitle": "nguoap",
    "categoryId": "15"
   }
  }
 ]
}

此请求的 API Explorer - https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list?id=IytNBm8WA1c&part=snippet&_h=3&

即使我授权此请求,我也会得到相同的结果。虽然,如果被授权的帐户拥有视频,它会返回标签。

如何在不要求最终用户授权其帐户的情况下获取我拥有的视频的标签?此实现是带有 JS 的客户端。

更新:GData 问题链接:https://code.google.com/p/gdata-issues/issues/detail?id=4513

【问题讨论】:

    标签: javascript google-api youtube-api


    【解决方案1】:

    很遗憾,目前您只能在验证自己为频道所有者的情况下获取带有标签的视频。搜索以前可以工作的标签,但在当前的 V2 实现中是 is broken。

    【讨论】:

      【解决方案2】:

      根据https://developers.google.com/youtube/v3/docs/videos/list 看来,最新版本的 YouTube API 现在返回标签:

      https://www.googleapis.com/youtube/v3/videos?key={API-key}&fields=items(snippet(title,description,tags))&part=snippet&id={video_id}
      

      【讨论】:

      • 迟到总比不到好!感谢您的回答!
      【解决方案3】:

      我在我的 javascript 中检索了这样的视频标签,你可以看到 - here

      function getYouTubeTags() {
      
      var q = document.getElementById("query").value;
      
      VID_REGEX = /(?:youtube(?:-nocookie)?\.com\/(?:[^\/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&]v=)|youtu\.be\/)([a-zA-Z0-9_-]{11})/;
      
      var vidid = q.match(VID_REGEX)[1];
      var key = "...";
      
      var newrequest = new XMLHttpRequest();
      newrequest.onreadystatechange = function() {
          if (this.readyState == 4 && this.status == 200) {
      
              var data = JSON.parse(this.responseText).items[0].snippet;
              //   document.getElementById("keyword").innerHTML = data.tags;
              document.getElementById("titlen").innerHTML = data.title;
      
              var i;
              var cell4 = document.getElementById('tgs');
              for (i = 0; i < data.tags.length; i++) {
      
                  var element3 = document.createElement("input");
                  element3.type = "button";
                  element3.name = "add";
                  element3.value = data.tags[i];
                  element3.className = "btn btn-danger";
                  cell4.appendChild(element3);
      
                  /*to set Image*/
                  document.getElementById("myImg").src = "https://img.youtube.com/vi/" + vidid + "/hqdefault.jpg";
      
              }
      
          }
      };
      
      newrequest.open('GET', "https://www.googleapis.com/youtube/v3/videos?id=" + vidid + "&key=" + key + "&fields=items(snippet(title,description,tags))&part=snippet", true);
      
      newrequest.send(); }
      

      【讨论】:

        【解决方案4】:
        猜你喜欢
        • 2020-07-07
        • 1970-01-01
        • 2015-07-22
        • 1970-01-01
        • 2013-07-18
        • 2013-05-16
        • 2016-11-13
        • 1970-01-01
        • 2013-11-12
        相关资源
        最近更新 更多