【问题标题】:GAS search and download youtube programmaticallyGAS 以编程方式搜索和下载 youtube
【发布时间】:2014-11-12 21:11:51
【问题描述】:

是否可以:

  1. 搜索关键字和时长 > 1 小时的视频。
  2. 自动下载。

基本思想来自谷歌应用脚​​本YouTube Servicesearch api 文档。有下面的例子:

function searchByKeyword() {
  var results = YouTube.Search.list('id,snippet', {
    q: 'dogs',
    maxResults: 25
  });

  for (var i = 0; i < results.items.length; i++) {
    var item = results.items[i];
    Logger.log('[%s] Title: %s', item.id.videoId, item.snippet.title);
  }
}

示例可以搜索关键字并打印出videoId,但我也希望添加一个长度> 1小时的条件并自动下载。

我们如何实现这样的想法?

【问题讨论】:

标签: google-apps-script youtube-api


【解决方案1】:

您无法通过如此精细的细节按持续时间进行搜索;您只能提供搜索“短”(不到 4 分钟)、“中”(4 分钟 - 20 分钟)或“长”(超过 20 分钟)的过滤器参数。参数是“videoDuration”,因此您的查询函数如下所示:

  var results = YouTube.Search.list('id,snippet', {
    q: 'dogs',
    maxResults: 25,
    videoDuration: 'long',
    type: 'video'
  });

编辑:请注意,当按 videoDuration 搜索时,您还必须包含 'type' 属性并将其设置为视频。

此外,您无法下载 YouTube 视频;没有用于此的 API,这违反了服务条款。

【讨论】:

  • 文档中似乎没有这样的API“videoDuration”:Youtube API,当我运行它时,我收到一条错误消息。
  • 您在评论中提供的链接指向了错误的文档;这是 video->list 端点的文档(当您已经知道视频 id 时),而不是 search->list 端点。你可以在这里看到正确的文档:developers.google.com/youtube/v3/docs/search/list 但是你说得对,有一个错误,因为我遗漏了一部分;按视频时长搜索时,您还必须将“类型”参数设置为“视频”,这样播放列表和频道就不会返回。我已经相应地编辑了我的答案。
猜你喜欢
  • 1970-01-01
  • 2013-10-08
  • 1970-01-01
  • 2011-02-24
  • 2015-02-16
  • 1970-01-01
  • 2015-01-17
  • 2014-05-13
  • 2012-01-10
相关资源
最近更新 更多