Javascript 如何检索YouTube视频';使用YouTube v3 API的s标记?
我想使用YouTube API的v3检索特定YouTube视频的标签 我能够通过这个请求检索到搜索端点{YOUR_API_KEY}的视频 现在我点击视频端点,试图从上面的查询中获取视频的标签。 {你的API密钥} 答复,Javascript 如何检索YouTube视频';使用YouTube v3 API的s标记?,javascript,google-api,youtube-api,Javascript,Google Api,Youtube Api,我想使用YouTube API的v3检索特定YouTube视频的标签 我能够通过这个请求检索到搜索端点{YOUR_API_KEY}的视频 现在我点击视频端点,试图从上面的查询中获取视频的标签。 {你的API密钥} 答复, { "kind": "youtube#videoListResponse", "etag": "\"PMn2rAVTRiZHkX45qiqfcLZoTXM/rYBuk4KeZFmSMoiSuaXfy6-Pm28\"", "items": [ { "id": "
{
"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资源管理器-
即使我授权了这个请求,我也会得到同样的结果。尽管如此,如果被授权的帐户拥有视频,它将返回标签
我如何在不要求最终用户授权其帐户的情况下获得我拥有的视频的标签?这个实现是JS的客户端
更新:GData问题链接:不幸的是,目前只有当您将自己认证为频道所有者时,才能获得带有标签的视频。搜索用于工作的标记,但在当前的V2实现中。根据最新版本的YouTube API现在似乎返回标记:
https://www.googleapis.com/youtube/v3/videos?key={API-key}&fields=items(snippet(title,description,tags))&part=snippet&id={video_id}
我在javascript中检索了这样的视频标记,您可以看到- 函数getYouTubeTags(){ var q=document.getElementById(“查询”).value; 视频正则表达式=/(?:youtube(?-nocookie)?\.com\/(?:[^\/\n\s]+\/\s+\/\s+\/)(?:v | e(?:mbed)?)\/\s*?[?&]v=)| youtu\\/)([a-zA-Z0-9-]{11}); var vidid=q.match(VID_REGEX)[1]; var key=“…”; var newrequest=newxmlhttprequest(); newrequest.onreadystatechange=函数(){ if(this.readyState==4&&this.status==200){ var data=JSON.parse(this.responseText).items[0].snippet; //document.getElementById(“关键字”).innerHTML=data.tags; document.getElementById(“titlen”).innerHTML=data.title; var i; var cell4=document.getElementById('tgs'); 对于(i=0;i
迟到总比不做好谢谢你的回答!
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(); }