如何使用YouTube v3 API检索YouTube视频的代码?

时间:2013-04-26 15:52:16

标签: javascript google-api youtube-api

我想使用YouTube API的v3检索特定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资源管理器 - 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

4 个答案:

答案 0 :(得分:18)

根据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}

答案 1 :(得分:1)

不幸的是,目前只有当您将自己作为频道所有者进行身份验证时,才能获得带有标签的视频。搜索用于工作的标签,但在当前的V2实现中搜索is broken

答案 2 :(得分:0)

我在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(); }

答案 3 :(得分:0)