当前位置: 首页 > 知识库问答 >
问题:

如何检索我的 YouTube 频道播放列表?

昌栋
2023-03-14

我很困惑。据我所知,我完全遵循这些例子。也许我遗漏了一个参数,但我找不到它是什么。

var request = gapi.client.youtube.channels.list({
  id: '<myId>',
  part: 'contentDetails'
});
request.execute(function(response) {
  console.log(response);
});

控制台响应没有项目,但我有3个公共播放列表。

[Log]对象(learnadaapi.html,第68行)

etag: “\”m2yskBQFythfE4irbTIeOgYYfBU/Rk41fm-2TD0VG1yv0-bkUvcBi9s\“”

项目: [] (0)

类型:“youtube#channelList响应”

pageInfo: {totalResults: 0, resultsPerPage: 0}

结果:{种类:"youtube#channelListReader",标签:"\"m2yskBQFythfE4irbTIeOgYYfBU/Rk41fm-2TD0VG1yv0-bkUvcBi9s\", pageInfo:{总计结果: 0,结果PerPage: 0},项目:[]}

对象原型

有线索吗?

共有2个答案

任宾鸿
2023-03-14

好吧,终于!我经历过很多选择,我不确定为什么以前不是这么简单。猜猜我过度阅读了一些东西或另一个。感谢Emad给了我XMLHttpRequest,我可以从中构建gapi请求。

  gapi.client.setApiKey(
    apiKey
  );

  gapi.client.load('youtube', 'v3').then(function (){
    gapi.client.youtube.playlists.list ({
      channelId: '<channelId>',
      maxResults: 50,
      part: 'snippet'
    }).then (function(response){
      console.log(response.result);
      },function(reason){
        console.log(reason);
      });
  });

给予回应。结果:

[Log] Object (learndataapi.html, line 45)
      etag: "\"m2yskBQFythfE4irbTIeOgYYfBU/Ax2NdOn2dk1o3kSplGj29Msov8Q\""
      items: Array (2)
      0 Object
         etag: "\"m2yskBQFythfE4irbTIeOgYYfBU/qQMRAPjZkOKU3LcNUxjcSiBXu8k\""
         id: "<playListId>"
         kind: "youtube#playlist"
         snippet: Object
           channelId: "<channelId>"
           channelTitle: "<channelTitle>"
           description: "<channelDescription>"
           localized: {title: "New playlist 2 with 2 videos", description: "This is new playlist 2 with 2 videos"}
           publishedAt: "2017-05-08T22:47:16.000Z"
           thumbnails: {default: {url: "https://i.ytimg.com/vi/GsNawgbVt18/default.jpg", width: 120, height: 90}, medium: {url: "https://i.ytimg.com/vi/GsNawgbVt18/mqdefault.jpg", width: 320, height: 180}, high: {url: "https://i.ytimg.com/vi/GsNawgbVt18/hqdefault.jpg", width: 480, height: 360}}
           title: "New playlist 2 with 2 videos"

...

有一点要注意:播放列表总是以降序“PublishedAt”日期返回,所以最新的出版物总是在第一位...如果有人在乎的话。

乐正远航
2023-03-14

尝试此查询:

https://www.googleapis.com/youtube/v3/search?key={your_key_here}&channelId={channel_id_here}&part=snippet,id&order=date&maxResults=30

查看此处了解更多信息:https://developers.google.com/youtube/v3/

更新:尝试以下步骤:

> < li>

使用查询

https://www.googleapis.com/youtube/v3/channels?id={channel Id}key={API key}&part=contentDetails

使用此“上传”Id查询播放列表项以获得视频列表,如:

https://www.googleapis.com/youtube/v3/playlistItems?playlistId={"uploads" Id}&key={API key}&part=snippet&maxResults=50 

新更新

对于播放列表,请执行以下操作:

function httpGet(theUrl)
{
   var xmlHttp = new XMLHttpRequest();
   xmlHttp.open( "GET", theUrl, false ); // false for synchronous request
   xmlHttp.send( null );
   return xmlHttp.responseText;
}

var response = httpGet("https://content.googleapis.com/youtube/v3/playlists?channelId=UCCTVrRB5KpIiK6V2GGVsR1Q&maxResults=50&part=snippet&key=REPLACE-WITH-YOUR-API-KEY");

console.log(response);

所以在这段代码中,您只需要添加您想要检索播放列表的任何频道ID,在这种情况下,我从具有此ID的频道中检索:UCCTVrRB5KpiK6V2GGVsR1Q如果您不知道如何获取频道ID,只需检查您想要的任何频道的页面源并搜索:data-channel-exout-id并使用channelId Parameter的值。

您需要的另一件事是API密钥,请确保启用了Youtube API数据,并使用API密钥作为密钥参数。

如果您发送http请求,您将获得max 50 playlits的详细信息响应,您还可以访问它们的Id,类似于< code > Id:plac 325451207 e 3105

 类似资料:
  • 我正试图找出在给定频道频道ID的情况下获取频道上传播放列表ID的最佳方法。E、 g.对于具有channelID的信道 UC9CuvdOVfMPvKCiwdGKL3cQ 对应的上传playlistID为 UU9CuvdOVfMPvKCiwdGKL3cQ 请注意,第二个字符已从“C”更改为“U” 我可以通过字符串操作进行此转换,但我很好奇是否有更好,更不麻烦的方式通过官方youtube api找到上传

  • 我正在使用youtube v3 API检索播放列表的视频,并通过此链接获得50个项目,没有任何问题:- https://www.googleapis.com/youtube/v3/playlistItems?part=snippet 但是视频数是100,我只有50个。我如何获得接下来的50个项目?我尝试了start index,但它不适用于v3 API。感谢任何帮助。

  • 给定频道的“虚荣url”(例如youtube.com/wheelockcollege,指向youtube.com/wheelockmarketing1),是否有办法检索频道详细信息? 我使用的是API的新版本3,以及最新的Python包。

  • 问题内容: 我正在一个拥有大量嵌入式youtube视频的网站上工作,客户端希望在视频停止播放时显示弹出窗口。 我看着youtube api,似乎有一种方法可以检测视频何时结束: http://code.google.com/apis/youtube/js_api_reference.html 但是我无法像在该页面上提到的那样嵌入视频,因为这些视频都已经在网站上(数千个通过粘贴嵌入代码手动添加)。

  • 我找不到任何信息来检查YouTube频道是否真的在流式传输。使用Twitch,您只需要频道名称,使用API,您可以检查是否有直播。 我不想使用OAuth,通常一个公共API密钥就足够了。就像检查频道的视频一样,我想知道该频道是否正在流式传输。

  • 我想获得我在youtube帐户上拥有的所有频道。 我做了什么: 阅读上的文档https://developers.google.com/youtube/v3/docs/channels/list. 通过我的帐户进行身份验证。 向GET发送GET请求https://www.googleapis.com/youtube/v3/channels?part=snippet 有可能获得我所有的频道吗?如果可