如何解决如何使用Google Sheets脚本从YouTube播放列表中删除所有歌曲 来自收件人:修改后的脚本:
我有这个脚本,可以从youtube播放列表中删除视频。
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 = "PL7Ias5xZGXQ-cRocGUGtJnS-x5Lbbgv-c";
const playlistResponse = YouTube.PlaylistItems.list('snippet',{playlistId: playlistId});
const playlistItem = playlistResponse.items;
playlistItem.forEach(dvid =>
{YouTube.PlaylistItems.remove(dvid.id);
Utilities.sleep(2000);}
);
}
此脚本的问题在于,每次运行仅删除5个项目。我需要它来删除播放列表中的所有视频。
我将如何处理?
解决方法
由于maxResults
的默认值为5
。我认为您的问题的原因是由于此。因此,当您要检索的项目多于5
时,请添加maxResults
。
当项目数少于50时:
作为简单修改,当播放列表中的项目数少于50时,可以使用以下修改。
来自
const playlistResponse = YouTube.PlaylistItems.list('snippet',{playlistId: playlistId});
收件人:
const playlistResponse = YouTube.PlaylistItems.list('snippet',{playlistId: playlistId,maxResults: 50});
项目数大于50:
当播放列表中的项目数大于50时,需要使用nextPageToken
。修改脚本后,它如下所示。
修改后的脚本:
const playlistId = "PL7Ias5xZGXQ-cRocGUGtJnS-x5Lbbgv-c";
let playlistItems = [];
let pageToken = "";
do {
const playlistResponse = YouTube.PlaylistItems.list('snippet',maxResults: 50,pageToken: pageToken});
playlistItems = playlistItems.concat(playlistResponse.items);
pageToken = playlistResponse.nextPageToken || "";
} while (pageToken);
playlistItems.forEach(dvid => {
YouTube.PlaylistItems.remove(dvid.id);
Utilities.sleep(2000);
});
参考:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。