2

Я пытаюсь вытащить последний канал прямых трансляций YouTube, используя YouTube API v2.0 - Retrieving Live Events Но мой скрипт, похоже, не работает. Вот мой код.Встраивание Live Live Live

<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
    </head> 
    <body> 

    <div id="static_video"></div> 

     <script> 
      $(document).ready(function() { 
      $(function() { 
       $.getJSON("https://gdata.youtube.com/feeds/api/users/ElektraRecords/live/events?v=2&inline=true&alt=json-in-script&status=pending&orderby=published$callback=?", 
      function (data) { 
       $.each(data.feed.content.entry, function(i,entry) { 
        var videoid = 'http://www.youtube.com/embed/' + entry.yt$videoid.$t; 
        var title = '<h1>' + entry.media$title.$t + '</h1>'; 
       var video = +title+ "<iframe width='420' height='315' src='"+videoid+ "' frameborder='0' allowfullscreen></iframe>"; 
       $('#static_video').html(video); 
        }); 
       }); 
      }); 
     }); 
     </script> 

    </body> 
</html> 
+0

Это изменилось с v3 API. Dupe here: [Могу ли я получить доступ ко всем прямым трансляциям с помощью API LiveStreaming YouTube?] (Http://stackoverflow.com/questions/33380083/can-i-access-all-live-broadcasts-with-youtubes-livestreaming-api) – JAL

ответ

0

У вас отсутствует сценарий зависимостей. По-видимому, вам нужно включить часть gdata API в заголовок вашего документа. См отладчик браузера и сценарий, который я ставлю на JSFiddle: http://jsfiddle.net/2NDrC/ - АНИ вы, вероятно, хотите вставить здесь: https://code.google.com/p/google-api-javascript-client/

Если вы посмотрите на то, что URL вы запрашиваете с JavaScript делает, вы видите, что это метод вызов метода в GData API:

URL: https://gdata.youtube.com/feeds/api/users/ElektraRecords/live/events?v=2&inline=true&alt=json-in-script&status=pending&orderby=published$callback=?

который возвращает

gdata.io.handleScriptLoaded({"version":"1.0","encoding":"UTF-8","feed":{"xmlns$app":"http://www.w3...

и выполняется как javascript. Поэтому для успешного выполнения должен быть предоставлен метод gdata.io.handleScriptLoaded.

Обходной объяснить, как поддельный метод gdata.io.handledScriptLoaded просто извлечь данные показано здесь: https://groups.google.com/forum/?fromgroups=#!topic/jquery-en/83Kpr9oSxFM