【问题标题】:Not getting list of YouTube videos未获取 YouTube 视频列表
【发布时间】:2012-12-06 10:17:54
【问题描述】:

我遵循了有关如何使用 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

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

【问题讨论】:

    标签: android android-emulator youtube youtube-api


    【解决方案1】:

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

    来自这个网址:

    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/

    【讨论】:

    • hI Bhaiya 在您的指导下,我已经搜索过,现在我正在努力实现它,感谢您的帮助,我会尝试...
    • 如果我只想在 gdata.youtube.com 的响应中获取 JSON 字符串,那么我必须写什么 url
    • @Udhikriman : 你在这里发送什么 "+username+" 用于获取 json
    • 哥们,我之前问过我想使用这个 url 获取视频:youtube.com/playlist?list=PL34F010EEF9D45FB8,所以这是我的另一个问题,我怎样才能获得相同的 json gdata url
    • 是的,我在这里发送“+用户名+”以获取 json
    【解决方案2】:

    这是新 google 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>
    

    【讨论】:

      【解决方案3】:

      Api V2 已过时。 使用 V3
      https://www.googleapis.com/youtube/v3/search?part=snippet&q=QUERY&maxResults=50&key=YOURKEYGOOGLECONSOLE

      【讨论】:

      • 格式不好,通常堆栈溢出不支持仅链接答案,因为链接通常会过期。如果可能,添加一些示例。
      猜你喜欢
      • 2019-04-04
      • 2012-10-24
      • 2017-08-25
      • 2015-12-03
      • 1970-01-01
      • 1970-01-01
      • 2015-08-31
      • 2013-05-14
      • 1970-01-01
      相关资源
      最近更新 更多