没有获取YouTube视频列表

时间:2012-12-19 05:23:55

标签: android android-emulator youtube youtube-api

我已经按照如何使用youtube gdata的教程进行了操作。使用来自youtube和onclick的视频填充列表视图。源代码可在以下网址获得:

http://blog.blundell-apps.com/click-item-in-a-listview-to-show-youtube-video/

我更改了YouTube GData链接

从:

https://gdata.youtube.com/feeds/api/videos?author= “+用户名+” &安培; V = 2及ALT = jsonc

到:

http://gdata.youtube.com/feeds/api/users/GoogleDevelopers/uploads

我没有收到视频列表,为什么?

3 个答案:

答案 0 :(得分:2)

原因是它不起作用,因为:

来自此网址:

https://gdata.youtube.com/feeds/api/videos?author= “+用户名+” &安培; V = 2及ALT = jsonc

您正在为gdata.youtube.com

获取响应中的JSON字符串

在此网址中:

http://gdata.youtube.com/feeds/api/users/GoogleDevelopers/uploads

您在gdata.youtube.com的响应中获得了Rss XML

解决方案:

要使其正常工作,您需要将GetYouTubeUserVideosTask类中的JSON字符串解析更改为XML解析

使用此URL获取JSON格式的数据:

http://gdata.youtube.com/feeds/api/users/GoogleDevelopers/uploads?v=2&alt=jsonc

并使用本教程了解我们如何解析android中的json:

http://www.androidhive.info/2012/01/android-json-parsing-tutorial/

答案 1 :(得分:1)

这是新谷歌api版本3的完美代码

<html>
  <head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="application/javascript">
 $(document).ready(function () {

  var channelName = 'PochicaKing';

  $.get(
          "https://www.googleapis.com/youtube/v3/channels", {
            part: 'contentDetails',
            forUsername: channelName,
//            mine: true,
//            access_token: 'ya29.cQEoJbvUmAMT6xJFgDoi4gq0EW8O5Q_9ZqLtNUay0AbNh-mldmNh5mlicarLx00AHxL_O6Vur8M3Bw',
            key: 'AIzaSyARSqGexKgNt0BdHUJBXg2pnxMGgYXrszw'
          },
  function (data) {

    $.each(data.items, function (i, item) {
      console.log(item);
      pid = item.contentDetails.relatedPlaylists.likes;
      gitVids(pid);
    });

  }
  );

  function gitVids(pid) {

    $.get(
            "https://www.googleapis.com/youtube/v3/playlistItems", {
              part: 'snippet',
              maxResults: 5,
              playlistId: pid,
              key: 'AIzaSyARSqGexKgNt0BdHUJBXg2pnxMGgYXrszw'
            },
    function (data) {

      var output;
      $.each(data.items, function (i, item) {
//      console.log(item);
        vidTitle = item.snippet.title;
        vidId = item.snippet.resourceId.videoId;

        output = '<li><iframe width="420" height="315"src="http://www.youtube.com/embed/' + vidId + '"></iframe></li>'
        $('#results').append(output);
      });

    }
    );



  }

});   

</script>
  </head>
  <body>
    <ul id="results"></ul>
  </body>
</html>

答案 2 :(得分:0)

Api V2已经过时了。 使用V3
https://www.googleapis.com/youtube/v3/search?part=snippet&q= QUERY &安培;的maxResults = 50&安培;键= <强> YOURKEYGOOGLECONSOLE