如何删除 Youtube 播放列表中的视频并每天填充新视频

How to delete videos in a Youtube playlist and populate with new videos daily

我有以下代码可以使用视频 ID 从 google 工作表将视频添加到播放列表。

function updateYTPlaylist() {

const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName('Sheet1');
const yt_video_ids = sh.getRange('A2:A'+sh.getLastRow()).getValues().flat([1]);

const playlistId = "PL7Ias5xZGXQ9o60ezsHZhl8NkoSm7Tdvj";

yt_video_ids.forEach( vid => 
 
YouTube.PlaylistItems.insert({
  snippet: {
    playlistId: playlistId,
    resourceId: {
      kind: "youtube#video",
      videoId: vid
    }
  }
}, "snippet"));

Utilities.sleep(2000);                                                             
}

我还想删除前一天存在的视频,然后再添加新视频,但不确定该怎么做。

Here 是从播放列表中删除项目的官方文档。不幸的是,此 http 请求只会从播放列表中删除一个视频,因此您必须遍历播放列表中所有视频的 ID,一次删除一个。

YouTube API 不提供有关您何时将特定视频添加到播放列表的信息。所以我们不能只删除前一天的视频。我的建议是创建一个新的播放列表,然后 每天 你将 运行 一个函数(通过时间基础触发器)删除当前视频(前一天添加的)然后添加新的。因此,脚本的第一部分将清除您的播放列表,第二部分将添加 新视频。

清除播放列表:

我将以下代码片段添加到您的代码中,用于从您的播放列表中删除每个视频;或者换句话说,它会清除您的播放列表:

const playlistResponse = YouTube.PlaylistItems.list('snippet', {playlistId: playlistId});
const playlistItem = playlistResponse.items;
    playlistItem.forEach(dvid =>
    {YouTube.PlaylistItems.remove(dvid.id);
    Utilities.sleep(2000);}
);

清除播放列表并添加新视频:

因此,清除播放列表然后添加 youtube视频的完整代码A Sheet1 的列如下:

function updateYTPlaylist() {

const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName('Sheet1');
const yt_video_ids  = sh.getRange('A2:A'+sh.getLastRow()).getValues().flat([1]);
const playlistId =  "PL7Ias5xZGXQ9o60ezsHZhl8NkoSm7Tdvj";

const playlistResponse = YouTube.PlaylistItems.list('snippet', {playlistId: playlistId});
const playlistItem = playlistResponse.items;
    playlistItem.forEach(dvid =>
    {YouTube.PlaylistItems.remove(dvid.id);
    Utilities.sleep(2000);}
);

yt_video_ids.forEach( avid => 
 
YouTube.PlaylistItems.insert({
  snippet: {
    playlistId: playlistId,
    resourceId: {
      kind: "youtube#video",
      videoId: avid
    }
  }
}, "snippet"));

Utilities.sleep(2000);                                                             
}

资源:

在 google 脚本编辑器中,您需要单击 资源 => 高级 Google 服务 和然后启用 YouTube 数据 API v3(目前这是最新版本)。