使用 Google Apps 脚本中的 YouTube 数据 API v3 从播放列表中删除视频
Deleting a video from a playlist with YouTube Data API v3 in Google Apps Script
问题:如何在 Google Apps 脚本中使用 delete 个播放列表项?
我试过的:
- 所有这些都给
Missing name after . operator. (line 123, file "Code")
错误(我感觉这可能与 JavaScript delete 运算符有关,不确定。):
YouTube.PlaylistItems.delete()
YouTube.PlaylistItems.delete("PLi22jkbHFzDjQNWcy4qfLamNjyb0nvkq8")
YouTube.PlaylistItems.delete({id: "PLi22jkbHFzDjQNWcy4qfLamNjyb0nvkq8"})
- 显然,执行得很好,但没有效果:
var payload =
{
"id" : "PLi22jkbHFzDjQNWcy4qfLamNjyb0nvkq8",
};
var options =
{
"method" : "delete",
"payload" : payload
};
Logger.log(UrlFetchApp.fetch("https://www.googleapis.com/youtube/v3/playlistItems", options));
如有任何帮助,我们将不胜感激。
额外的细节。我想做的是清除播放列表中的所有项目,我已经有了以下代码:
var result = YouTube.PlaylistItems.list('id', {
playlistId: "2L1YG9ktx9sVdo-PMFD2iwCC-UWmkYrgQ-"
});
Logger.log(result.items.length);
var items = result.items;
for (var i = 0; i < items.length; i++) {
Logger.log(items[i].id);
// Deletion of the item with id of "items[i].id is expected to happen here
}
我认为它不是 Apps 脚本中的 delete()。请尝试 YouTube.PlaylistItems.remove(id)
。我尝试在我的脚本中添加此方法,它会自动在下拉列表中填充 remove 方法。没有删除方法。
希望对您有所帮助!
你不用videoId,你用playlistItem的id...
while (nextPageToken != null) {
var playlistResponse = YouTube.PlaylistItems.list('snippet', {playlistId: playlistId, maxResults: 50,pageToken: nextPageToken});
for (var j = 0; j < playlistResponse.items.length; j++) {
var playlistItem = playlistResponse.items[j];
playlistItemsDelete(playlistItem.id)
//Logger.log('[%s] Title: %s', playlistItem.snippet.resourceId.videoId, playlistItem.snippet.title);
}
...然后...
function playlistItemsDelete(id) {
//var 参数 = {'onBehalfOfContentOwner': 'everythingability'}; // 查看函数的完整示例
YouTube.PlaylistItems.remove(id)
}
问题:如何在 Google Apps 脚本中使用 delete 个播放列表项?
我试过的:
- 所有这些都给
Missing name after . operator. (line 123, file "Code")
错误(我感觉这可能与 JavaScript delete 运算符有关,不确定。):
YouTube.PlaylistItems.delete()
YouTube.PlaylistItems.delete("PLi22jkbHFzDjQNWcy4qfLamNjyb0nvkq8")
YouTube.PlaylistItems.delete({id: "PLi22jkbHFzDjQNWcy4qfLamNjyb0nvkq8"})
- 显然,执行得很好,但没有效果:
var payload = { "id" : "PLi22jkbHFzDjQNWcy4qfLamNjyb0nvkq8", }; var options = { "method" : "delete", "payload" : payload }; Logger.log(UrlFetchApp.fetch("https://www.googleapis.com/youtube/v3/playlistItems", options));
如有任何帮助,我们将不胜感激。
额外的细节。我想做的是清除播放列表中的所有项目,我已经有了以下代码:
var result = YouTube.PlaylistItems.list('id', {
playlistId: "2L1YG9ktx9sVdo-PMFD2iwCC-UWmkYrgQ-"
});
Logger.log(result.items.length);
var items = result.items;
for (var i = 0; i < items.length; i++) {
Logger.log(items[i].id);
// Deletion of the item with id of "items[i].id is expected to happen here
}
我认为它不是 Apps 脚本中的 delete()。请尝试 YouTube.PlaylistItems.remove(id)
。我尝试在我的脚本中添加此方法,它会自动在下拉列表中填充 remove 方法。没有删除方法。
希望对您有所帮助!
你不用videoId,你用playlistItem的id...
while (nextPageToken != null) {
var playlistResponse = YouTube.PlaylistItems.list('snippet', {playlistId: playlistId, maxResults: 50,pageToken: nextPageToken});
for (var j = 0; j < playlistResponse.items.length; j++) {
var playlistItem = playlistResponse.items[j];
playlistItemsDelete(playlistItem.id)
//Logger.log('[%s] Title: %s', playlistItem.snippet.resourceId.videoId, playlistItem.snippet.title);
}
...然后...
function playlistItemsDelete(id) { //var 参数 = {'onBehalfOfContentOwner': 'everythingability'}; // 查看函数的完整示例
YouTube.PlaylistItems.remove(id)
}