YouTube API v3 -从公共播放列表中获取视频.不使用API密钥



这个代码用来列出播放列表中排名前50位的视频

        var ytURL = "http://gdata.youtube.com/feeds/api/playlists/PLgtnUFn0ROBBPO2nC-bduEDDlxikKwZ6R?v=2&alt=json&callback=?&max-results=50";

    var thumbBase = "http://img.youtube.com/vi/";
    $.getJSON(ytURL, function (data) {
            $.each(data.feed.entry, function (i, item) {
                var itemTitle = item.title.$t; // Title of the video
                var itemdescription = item.media$group.media$description.$t; //Description of the Video
                itemdescription = itemdescription.replace(/"/g, "");
                var itemdate = item.published.$t;
                var fulldate = new Date(itemdate).toLocaleDateString();

                 var yobject = { 'title': itemTitle, 'description': itemdescription, 'gdate': itemdate };
               localStorage.setItem(videoID, JSON.stringify(yobject));
            });

相同的代码现在不工作,因为谷歌更新youtube api

我已经参考了youtube文档,看完后,我才知道这样使用

https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=PLgtnUFn0ROBBPO2nC-bduEDDlxikKwZ6R&key={YOUR_KEY_HERE}&maxResults=50

问题是,有公共: playlist id "PLgtnUFn0ROBBPO2nC-bduEDDlxikKwZ6R"在这里。

我想从播放列表中列出所有的视频,而不使用API密钥。

我如何访问这个…

建议我如何从这个解决方案中克服

在v3中,如果没有API密钥,您甚至无法访问公共youtube数据。

From the docs:

您可以请求有关通道的公共信息的信息没有认证的播放列表。当您提交未经身份验证的请求时,您需要包含指定发出请求的应用程序的唯一API密钥。例如,的相关播放列表GoogleDevelopers通道。

所以你可以执行请求来获得播放列表数据,而不需要验证用户(不需要通过OAuth流),但你仍然需要为你的应用程序提供一个API密钥(你可以很容易地在Google Developer控制台生成)。

YouTube Data API v3需要一个API Key来获取公共信息。但是,可以通过非官方api从公共播放列表中获取视频。

例如,Invidious, YouTube的另一个前端,为YouTube播放列表提供了以下REST API,而不需要API密钥:

GET /api/v1/playlists/

您可以参考其文档获取更多信息。

相关内容

  • 没有找到相关文章

最新更新