0

Also, ich sah viele Fragen in diesem Thema, aber alle Antworten beginnen mit alten gdata url, die nicht mehr funktionieren.
Ich mag Kommentare für jedes Video bekommen, wenn ich auf dieser Seite eine (angehängt) Schaltfläche klicken:
https://www.youtube.com/feed/subscriptions
Offensichtlich ist dies ein tampermonkey Skript.
Mein Ziel ist, dass ich einen kleinen Sneek-Peak vom Inhalt bekomme, damit ich entscheiden kann, ob ich auf den Youtube-Link klicke oder nicht.
Vielleicht plane ich Antwortfunktion für die Kommentare, aber das ist nur ein Zukunftsplan.
Was ich habe jetzt:Wie kann ich Youtube Kommentare mit Jquery und Youtube API V3 bekommen?

// ==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 
}); 

}); 

Und ich möchte, dass Code isent Arbeit zu diesem Zeitpunkt der Trennung des, so würde ich dies gerne auf Arbeits Format natürlich hinzufügen:

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"); 
} 
}); 
}); 
}); 

Als ich sah in dieser URL zum broweser mit meinem api-Schlüssel:
'https://www.googleapis.com/youtube/v3/comments?id=yVqreR8VXwQ&key=YOURAPIKEY&part=snippet'
ich dieses Ergebnis:

{ 
"kind": "youtube#commentListResponse", 
"etag": "\"kiOs9cZLH2FUp6r6KJ8eyq_LIOk/pGLBhpjR05yQoJV31WoAx2PEFVw\"", 
"items": [] 
} 

Und ich verstehe nicht warum, warum bekomme ich keine Artikel?
Die URL sieht gut aus für mich.

Antwort

1
 GET https://www.googleapis.com/youtube/v3/commentThreads?key=AIzaSyDDBk8tAkod1VRRNyFZF09fgQyMpnSe5HI&textFormat=plainText&part=snippet&videoId=kffacxfA7G4&maxResults=50

können Sie dies versuchen, es gut für mich funktioniert.

+0

Hmm sieht gut aus basierend Ihre Antwort Ich machte dies: http://jsfiddle.net/bTLX8/15/ Das einzige Problem ist, wir haben nicht nur ein Video, aber viele, viele mehr, und wir müssen das Video chancge ID-String zur tatsächlichen Video-ID. wie diese possoble? – user3545446

Verwandte Themen