使用 Google Apps 脚本中的 YouTube 数据 API v3 从播放列表中删除视频

Deleting a video from a playlist with YouTube Data API v3 in Google Apps Script

问题:如何在 Google Apps 脚本中使用 delete 个播放列表项?


我试过的:

  1. 所有这些都给 Missing name after . operator. (line 123, file "Code") 错误(我感觉这可能与 JavaScript delete 运算符有关,不确定。):

YouTube.PlaylistItems.delete() YouTube.PlaylistItems.delete("PLi22jkbHFzDjQNWcy4qfLamNjyb0nvkq8") YouTube.PlaylistItems.delete({id: "PLi22jkbHFzDjQNWcy4qfLamNjyb0nvkq8"})

  1. 显然,执行得很好,但没有效果:
  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)

}