【问题标题】:Deleting Duplicate Videos From Playlist从播放列表中删除重复的视频
【发布时间】:2021-08-14 19:53:47
【问题描述】:

我想清理我创建的公共播放列表,其中包含重复的相同视频。我编写了以下脚本作为测试,但在第 9 行遇到顽固的“禁止访问”错误。我不确定是什么原因造成的,但我很确定我给了脚本删除播放列表项所需的授权。我还确保 PlaylistItems.list 工作正常并且可以访问播放列表。我只是一直卡在 PlaylistItems.remove

function main()
{
  var maxres = 1;
  var response = YouTube.PlaylistItems.list("snippet,contentDetails", {playlistId: "PLYtE-PC********_S8***************", maxResults: maxres});

  Logger.log(response);
  Logger.log(response.items[0].id);
  
  YouTube.PlaylistItems.remove(response.items[0].id);
}

错误日志:

GoogleJsonResponseException: API call to youtube.playlistItems.delete failed with error: Forbidden
main    @ Code.gs:9

我从另一个网站得到的答案说我需要检查脚本是否有权删除视频。所以我去了谷歌权限页面(“可以访问您的帐户的应用程序”),确认该应用程序可以访问我的 YouTube 帐户。但是,它没有指定我是否可以删除视频。我很困惑,这有单独的设置吗?!

【问题讨论】:

    标签: google-apps-script youtube-api youtube-data-api google-apis-explorer


    【解决方案1】:

    documentation 开始,脚本应该添加这些范围,以便 API 正常工作:

    https://www.googleapis.com/auth/youtubepartner
    https://www.googleapis.com/auth/youtube
    https://www.googleapis.com/auth/youtube.force-ssl
    

    您可以通过执行以下操作来查看您的脚本项目当前需要的范围:

    1. 打开脚本项目。
    2. 点击左侧的概览
    3. 查看Project OAuth Scopes下的范围。

    要手动添加范围,您可以修改 appsscript.json 清单文件。您可以查看参考页面Authorization Scopes 了解如何执行此操作。

    【讨论】:

    • 我已经设法添加了所有三个范围,现在我可以在我的项目概述中看到它们。我仍然收到与之前完全相同的错误消息
    • 在文档页面developers.google.com/youtube/v3/docs/playlistItems/delete中找到所有三个范围的情况下,尝试使用“Try this API”小部件时会发生同样的错误
    猜你喜欢
    • 2021-08-11
    • 2012-12-11
    • 2018-06-24
    • 2018-04-01
    • 1970-01-01
    • 2017-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多