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

为什么YouTubeV3数据API只返回此频道的1个视频结果?

罗波鸿
2023-03-14

问:为什么我只收到以下使用 YouTube Data V3 API 执行的操作中的 1 个视频?我尝试从中提取视频的示例频道(https://www.youtube.com/user/JayLenosGarage/videos)有多个视频。

我正在尝试从特定频道的Youtube数据API v3中获取所有视频及其关联的ID。让我们使用示例通道JayLenosGarage。

所以关注YouTube上的这个视频(https://www.youtube.com/watch?v=jdqsiFw74Jk

GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails&id=UCQMELFlXQL38KPm8kM-4Adg&key=<API_KEY>
# returns: 
{
 "kind": "youtube#channelListResponse",
 "etag": "\"sZ5p5Mo8dPpfIzLYQBF8QIQJym0/z48ndyqvca6Iiuq8GhSM74uM6Ho\"",
 "pageInfo": {
  "totalResults": 1,
  "resultsPerPage": 1
 },
 "items": [
  {
   "kind": "youtube#channel",
   "etag": "\"sZ5p5Mo8dPpfIzLYQBF8QIQJym0/ZrtYB2hQFGE9E0BKmRhauZQb1kI\"",
   "id": "UCQMELFlXQL38KPm8kM-4Adg",
   "contentDetails": {
    "relatedPlaylists": {
     "likes": "LLQMELFlXQL38KPm8kM-4Adg",
     "uploads": "UUQMELFlXQL38KPm8kM-4Adg",
     "watchHistory": "HL",
     "watchLater": "WL"
    }
   }
  }
 ]
}
GET https://www.googleapis.com/youtube/v3/playlists?part=snippet&id=UUQMELFlXQL38KPm8kM-4Adg&key=<API_KEY>
# returns: 
{
 "kind": "youtube#playlistListResponse",
 "etag": "\"sZ5p5Mo8dPpfIzLYQBF8QIQJym0/DWOe-LD4_fSk0yC55HX_ZOrkuy4\"",
 "pageInfo": {
  "totalResults": 1,
  "resultsPerPage": 20
 },
 "items": [
  {
   "kind": "youtube#playlist",
   "etag": "\"sZ5p5Mo8dPpfIzLYQBF8QIQJym0/3CSCtGQNcyDVWQJAktkawoG7h7k\"",
   "id": "UUQMELFlXQL38KPm8kM-4Adg",
   "snippet": {
    "publishedAt": "1970-01-01T00:00:00.000Z",
    "channelId": "UCQMELFlXQL38KPm8kM-4Adg",
    "title": "Uploads from Jay Leno's Garage",
    "description": "",
    "thumbnails": {
     "default": {
      "url": "https://i.ytimg.com/vi/hnjbaBzq7II/default.jpg",
      "width": 120,
      "height": 90
     },
     "medium": {
      "url": "https://i.ytimg.com/vi/hnjbaBzq7II/mqdefault.jpg",
      "width": 320,
      "height": 180
     },
     "high": {
      "url": "https://i.ytimg.com/vi/hnjbaBzq7II/hqdefault.jpg",
      "width": 480,
      "height": 360
     },
     "standard": {
      "url": "https://i.ytimg.com/vi/hnjbaBzq7II/sddefault.jpg",
      "width": 640,
      "height": 480
     },
     "maxres": {
      "url": "https://i.ytimg.com/vi/hnjbaBzq7II/maxresdefault.jpg",
      "width": 1280,
      "height": 720
     }
    },
    "channelTitle": "Jay Leno's Garage",
    "localized": {
     "title": "Uploads from Jay Leno's Garage",
     "description": ""
    }
   }
  }
 ]
}

共有2个答案

袁翰池
2023-03-14

您必须调用< code>PlaylistItems而不是< code>Playlist。我已经将结果限制为1个结果,但是您可以将maxResults设置为50。

GET https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=UUQMELFlXQL38KPm8kM-4Adg&key=<API_KEY>
{
 "kind": "youtube#playlistItemListResponse",
 "etag": "\"sZ5p5Mo8dPpfIzLYQBF8QIQJym0/cP-6KgbLq3nwDlAJIHbAFkoudaY\"",
 "nextPageToken": "CAEQAA",
 "pageInfo": {
  "totalResults": 521,
  "resultsPerPage": 1
 },
 "items": [
  {
   "kind": "youtube#playlistItem",
   "etag": "\"sZ5p5Mo8dPpfIzLYQBF8QIQJym0/ATGgNMMgOoMbS2iqcgFL9h4B3yI\"",
   "id": "VVVRTUVMRmxYUUwzOEtQbThrTS00QWRnLkEwNmFrcGtuaF9J",
   "snippet": {
    "publishedAt": "2016-11-07T07:09:25.000Z",
    "channelId": "UCQMELFlXQL38KPm8kM-4Adg",
    "title": "Restoration Blog: November 2016 - Jay Leno's Garage",
    "description": "Jay gives an update on some of the restorations going on in the garage.\n» Subscribe:  http://NBC.com/video/library/full-episodes/\nNBC YouTube: http://www.youtube.com/nbc\nFollow NBC: http://Twitter.com/NBC\nLike NBC: http://Facebook.com/NBC\nNBC Tumblr: http://NBCtv.tumblr.com/\nNBC Pinterest: http://Pinterest.com/NBCtv/\nNBC Google+: https://plus.google.com/+NBC\nNBC Instagram: http://instagram.com/nbctv\n\nRestoration Blog: November 2016 - Jay Leno's Garage\nhttps://youtu.be/A06akpknh_I\n\nJay Leno's Garage\nhttp://www.youtube.com/user/jaylenosgarage",
    "thumbnails": {
     "default": {
      "url": "https://i.ytimg.com/vi/A06akpknh_I/default.jpg",
      "width": 120,
      "height": 90
     },
     "medium": {
      "url": "https://i.ytimg.com/vi/A06akpknh_I/mqdefault.jpg",
      "width": 320,
      "height": 180
     },
     "high": {
      "url": "https://i.ytimg.com/vi/A06akpknh_I/hqdefault.jpg",
      "width": 480,
      "height": 360
     },
     "standard": {
      "url": "https://i.ytimg.com/vi/A06akpknh_I/sddefault.jpg",
      "width": 640,
      "height": 480
     },
     "maxres": {
      "url": "https://i.ytimg.com/vi/A06akpknh_I/maxresdefault.jpg",
      "width": 1280,
      "height": 720
     }
    },
    "channelTitle": "Jay Leno's Garage",
    "playlistId": "UUQMELFlXQL38KPm8kM-4Adg",
    "position": 0,
    "resourceId": {
     "kind": "youtube#video",
     "videoId": "A06akpknh_I"
    }
   }
  }
 ]
}

当然,您也可以使用搜索,但您必须记住,调用搜索需要花费100个配额,而播放列表项目#列表的成本仅为1个配额。

苏彭薄
2023-03-14

要获取频道内所有视频的列表,请使用Search: list方法。它将返回与API请求中指定的查询参数匹配的搜索结果集合。默认情况下,搜索结果集标识匹配的视频、频道和播放列表资源,但您也可以将查询配置为仅检索特定类型的资源。

以下是您需要完成的示例请求:

https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=UCQMELFlXQL38KPm8kM-4Adg&maxResults=50&key=YOUR_API_KEY

注意:您只能使用channel.list来获取该频道的信息。它不会返回其中的视频列表。由于您已经知道该频道的频道ID,因此请使用Search.list返回该频道内的所有视频。

希望对你有帮助:)

 类似资料:
  • 我使用YouTube数据API从查询结果(视频)中获取一些信息。 大多数视频返回他们的数据正确。但有些视频不返回他们的频道标题(无论如何,所有其他字段都返回正确)。 示例: 返回的第二个视频: 返回的第三个视频: 但是如果我证明youtube中的第三个视频ID,它有(如预期的)一个频道标题。 有什么想法吗?

  • 我正在尝试获取频道中所有视频的列表,使用playlistItems列表通过传递playlistId来获取所有视频。示例- 使用channels.listAPI调用获取频道上传播放列表的ID:GEThttps://www.googleapis.com/youtube/v3/channels?part=contentDetails 使用playlistItems.list调用获取上传播放列表中的视频:

  • 我有一个YouTube用户,其中不包含YouTube频道。但是,如果我使用“mine=true”属性查询youtube.channels.list API方法,YouTube数据API确实会返回一个频道,如下面的示例(1)所示。 例: (1) 返回一个通道(mine=true;通过使用OAuth): https://developers.google.com/apis-explorer/#p/yo

  • 我正在制作一个discord机器人,我希望它在加入新公会时发送消息。 但是,我只想让它在它加入的公会的通道中发送消息: 我注意到的问题是只返回服务器的第一个通道的名称。我想通过所有渠道迭代,最后只在渠道上发送消息。 它的变通方法是什么?

  • 我正在尝试使用频道的视频,https://www.googleapis.com/youtube/v3/search?order=date

  • 只是想知道是否有人能告诉我这是怎么回事。当我播放视频时,我可以听到音频,但视频不显示。这是我的代码,我是初学者