在 Google Apps 脚本中列出 YouTube 频道的所有视频
Posted
技术标签:
【中文标题】在 Google Apps 脚本中列出 YouTube 频道的所有视频【英文标题】:List all videos of a YouTube channel in Google Apps Script 【发布时间】: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 对象。如何导入对象?有什么需要提前申报的吗? 【参考方案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/…获取所有视频的方法以上是关于在 Google Apps 脚本中列出 YouTube 频道的所有视频的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 Apps 脚本在 Google 表格中“清除格式”
在 Google Apps 脚本中使用 BigQuery 连接到 Google 电子表格
在 Google Apps 脚本中使用 Mandrill API