【问题标题】:List all videos of a YouTube channel in Google Apps Script在 Google Apps 脚本中列出 YouTube 频道的所有视频
【发布时间】:2016-05-08 18:16:15
【问题描述】:

我正在使用 YouTube 数据 API 在 google 电子表格中列出频道的前 25 个视频标题和 ID,但由于某种原因,我只获得了频道的标题。

这是我的代码:

function searchByChannel() {
    var results = YouTube.Channels.list('id,snippet', {
        id: 'UC-9-kyTW8ZkZNDHQJ6FgpwQ',
        maxResults: 25
    });

    var title = "";
    var id = "";
    var lr = 0;
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet1 = ss.getSheetByName("Sheet1");
    for (var i = 0; i < results.items.length; i++) {
        var item = results.items[i];
        title = item.snippet.title;
        id = item.id.videoId;
        lr = sheet1.getLastRow() + 1;
        sheet1.getRange(lr, 1).setValue(title);
        sheet1.getRange(lr, 2).setValue(id);
        lr++;
    }
}

我是 YouTube 数据 API 的新手,所以我不知道我在这里做错了什么。如何使用 Google Apps 脚本在我的电子表格中列出 25 个视频 ID 和标题?

【问题讨论】:

  • 如果我运行这个脚本,它会收到错误消息,即在第一行找不到 Youtube 对象。如何导入对象?有什么需要提前申报的吗?

标签: google-apps-script youtube-data-api


【解决方案1】:

YouTube.Channels 的文档声明它将返回有关频道的信息,而不是有关视频的信息,这就是您获取频道信息的原因。

另一方面,YouTube.Search 收集有关视频的信息,您可以为其提供 channelId 参数,该参数将搜索指定频道,因此,您的结果代码应如下所示:

  var results = YouTube.Search.list('id,snippet', {
    channelId:'UC-9-kyTW8ZkZNDHQJ6FgpwQ',
    maxResults: 25
  });

【讨论】:

  • 谢谢,我得到了标题,但没有得到视频 ID。知道如何解决这个问题吗?
  • N. B. - 我正在获取播放列表的标题,如果我使用item.id,那么我可以获得播放列表的 ID。但我一直在寻找视频标题和 ID。我怎样才能做到这一点?谢谢。
  • 这里是使用频道网址gappsscript.com/…获取所有视频的方法
猜你喜欢
  • 1970-01-01
  • 2018-11-29
  • 1970-01-01
  • 2019-10-18
  • 2019-10-22
  • 2015-09-02
  • 1970-01-01
  • 2014-04-06
  • 2021-07-02
相关资源
最近更新 更多