【问题标题】:Ignore playlists for YouTube API V3忽略 YouTube API V3 的播放列表
【发布时间】:2021-03-24 09:56:15
【问题描述】:

我编写了一个 C# 应用程序,它通过某些 youtuber 循环并从中检索视频信息。我只关心视频本身。我最近遇到了一个问题,有人创建或更新了播放列表,现在它出错了,因为它也把它拉进去了。有没有人知道在查询 YouTube 时跳过播放列表的方法?这就是我今天为特定 youtuber 提取视频列表的方式。

YouTubeService yt = new YouTubeService(new BaseClientService.Initializer() { ApiKey = YTubeAPIKey });
var searchListRequest = yt.Search.List("snippet");
searchListRequest.MaxResults = YTubeDownloadsPerUser;
searchListRequest.Order = SearchResource.ListRequest.OrderEnum.Date;  // grab and order by newest to oldest
searchListRequest.ChannelId = youtubers;

【问题讨论】:

  • 请编辑您的问题并包含您的错误

标签: c# google-api youtube-data-api google-api-dotnet-client


【解决方案1】:

根据Search.list API端点的官方文档,如果您在调用请求参数的端点中适当地包含以下一组,那么您将仅获得与视频对应的项目:

type(字符串)
type 参数将搜索查询限制为仅检索特定类型的资源。该值是以逗号分隔的资源类型列表。默认值为video,channel,playlist

可接受的值为:

  • channel
  • playlist
  • video

因此,只需在您的 API 代码中添加以下行,即可为您提供仅与视频相关的资源:

searchListRequest.Type = "video";

另请注意,设置请求参数channelId 意味着Search.list 将返回有限数量的项目(以下重点是我的):

channelId(字符串)
channelId 参数表示 API 响应应该只包含通道创建的资源。

注意:如果您的请求指定了 channelId 参数的值并将 type 参数值设置为video,但它不设置forContentOwnerforDeveloperforMine 过滤器之一。

【讨论】:

  • 谢谢那是票。我在发布后不久就发现了这一点,但只是开始测试它。
猜你喜欢
  • 2016-09-17
  • 2015-08-18
  • 2014-07-02
  • 2018-06-11
  • 2011-08-17
  • 2017-06-25
  • 2014-10-16
  • 2015-04-23
  • 2017-11-01
相关资源
最近更新 更多