Итак, я видел много вопросов в этой теме, но все ответы начинаются со старого gdata url, который больше не работает.
Я хотел бы получить комментарии для каждого видео, если нажать на кнопку (прилагается) на этой странице:
https://www.youtube.com/feed/subscriptions
Очевидно, что это tampermonkey сценарий.
Моя фишка в том, что я хочу получить небольшой пик от контента, поэтому я могу принять решение о том, что я нажимаю на ссылку youtube или нет.
Возможно, я планирую функцию ответа для комментариев, но это просто план на будущее.
Что я сейчас:Как я могу получить комментарии Youtube с помощью JQuery и Youtube api V3?
// ==UserScript==
// @name hovercards for youtube
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://www.youtube.com/*
// @grant none
// @require https://code.jquery.com/jquery-latest.min.js
// ==/UserScript==
/* jshint -W097 */
//'use strict';
jQuery(document).ready(function() {
$("a.yt-uix-tile-link,.yt-ui-ellipsis-2k").on("mouseover",function() {
//Replace video block start
$(function() {
$('a.yt-uix-tile-link,.yt-ui-ellipsis-2k').each(function() {
var yt_url = this.href,
yt_id = yt_url.split('?v=')[1],
yt_title = $(this).text();
$(this).replaceWith('<div class="youtube-box" style="background-image:url(https://img.youtube.com/vi/' + yt_id + '/0.jpg);"><span class="youtube-title">' + yt_title + '</span><span class="youtube-bar"><span class="yt-bar-left"></span><span class="yt-bar-right"></span></span> </div>');
$("div.youtube-box").on("mouseover",function() {
$(this).replaceWith('<iframe width="560" height="315" frameborder="0" allowfullscreen class="youtube-frame" src="https://www.youtube.com/embed/' + yt_id + '?autoplay=1"></iframe>');
});
});
});
//Replace video block end
});
});
И я хотел бы раздельный, что код isent работы в это время, так что я хотел бы добавить это на рабочий формат курса:
jQuery(document).ready(function() {
jQuery("'a.yt-uix-tile-link,.yt-ui-ellipsis-2k").append("<input type='button' value='Give me my comments' class='button'>");
jQuery(".button").on("click",function() {
jQuery.getJSON('https://www.googleapis.com/youtube/v3/comments?id=yVqreR8VXwQ&key=YOURAPIKEY&part=snippet',function(data){
//Replace the YOURAPI key section for your key
if (typeof(data.items[0]) != "undefined") {
console.log('video exists ' + data.items[0].snippet.comment);
$(".result").append(data.items[0].snippet.comment);
} else {
console.log('video not exists');
jQuery("result").append("Nope, we don't get any data");
}
});
});
});
Когда я посмотрел на broweser этот URL с моим ключом API:
'https://www.googleapis.com/youtube/v3/comments?id=yVqreR8VXwQ&key=YOURAPIKEY&part=snippet
'
я получаю этот результат:
{
"kind": "youtube#commentListResponse",
"etag": "\"kiOs9cZLH2FUp6r6KJ8eyq_LIOk/pGLBhpjR05yQoJV31WoAx2PEFVw\"",
"items": []
}
И я не понимаю, почему, почему я не получаю никаких предметов?
URL-адрес выглядит хорошо для меня.
Хмм выглядит хорошо на основе вашего ответа. Я сделал это: http://jsfiddle.net/bTLX8/15/ Единственная проблема заключается в том, что у нас есть не только одно видео, но и многое, многое другое, и нам нужно перенести видео id к фактическому идентификатору видео. как это пошло? – user3545446