跟踪 YouTube 观看历史记录

2023-11-21

为了自动跟踪我的时间,我想获取我的观看历史记录(最好的情况:每天一次,最坏的情况是每分钟一次),并将其添加为 Google 日历事件。

虽然我成功添加了 Google 日历活动,但无法获取 YouTube 观看历史记录。

所以我想知道 v3 API 是否提供类似的东西,或者是否有某种创建播放列表的技巧?


不幸的是,YouTube API 团队似乎已将这一功能置于休眠状态。

2016年8月11日,他们宣布将弃用稍后观看和观看历史播放列表的 API:

渠道资源contentDetails.relatedPlaylists.watchHistory and contentDetails.relatedPlaylists.watchLater属性仅对检索有关用户自己的频道的数据的授权用户可见。 2016年9月12日之后,contentDetails.relatedPlaylists.watchHistory将返回一个值HLcontentDetails.relatedPlaylists.watchLater属性将返回一个值WL对于所有频道。

请求检索播放列表详细信息(playlists.list) 对于频道的观看历史记录或稍后观看播放列表,将在 2016 年 9 月 12 日之后返回空列表。请求检索播放列表项目 (playlistItems.list)在这段时间之后,这些播放列表中的任何一个也将返回一个空列表。对于新值来说也是如此,HL and WL,以及您的 API 客户端可能已存储的任何观看历史记录或稍后观看播放列表 ID。

2016年9月15日,他们宣布已从 API 中删除此信息:(强调我的)

渠道资源contentDetails.relatedPlaylists.watchHistory and contentDetails.relatedPlaylists.watchLater属性现在包含的值HL and WL,分别针对所有通道。

需要明确的是,这些属性仅对检索有关用户自己的频道的数据的授权用户可见。属性始终包含值HL and WL,甚至对于检索有关用户自己的频道的数据的授权用户也是如此。因此,无法通过 API 检索观看历史记录和稍后观看播放列表 ID。

此外,请求检索播放列表详细信息(playlists.list) 或播放列表项目 (playlistItems.list)频道的观看历史记录或稍后观看播放列表现在返回空列表。对于新值来说,这种行为是正确的,HL and WL,以及您的 API 客户端可能已存储的任何观看历史记录或稍后观看播放列表 ID。

2016年11月2日,他们甚至宣布了新错误,表明无法从 API 检索此类内容:

The playlistItems.list方法返回此错误,表明请求尝试检索“观看历史记录”播放列表项目,但无法使用 API 检索这些项目。

另一方面,有类似的文档概览页面从 v2 指南迁移仍然表明通过播放列表 API 获取 ID 的旧方法。我个人认为这些文档已经过时了。

如果我处于你的位置,我会围绕它来满足我的要求,避免这种情况。您可以返回到 v2 或执行其他操作,例如抓取网站,但如果 YouTube API 明确阻止第三方使用这些内容,您可能会陷入法律麻烦。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

跟踪 YouTube 观看历史记录 的相关文章

随机推荐

  • PHP 的 mail():有哪些需要注意的潜在问题?

    给定接受自定义用户输入 例如地址 主题行 消息 的联系表单 需要注意哪些安全隐患和 陷阱 至少 必须验证用户的电子邮件地址 可能使用 filter var 或等效函数 根据我的阅读 这还应该防止将额外的标头注入到脚本中 那么主题行和消息内容
  • angular-cli工具的--base-href和--deploy-url参数有什么区别

    Angular 的文档告诉我们应该使用 base href当要部署在子文件夹中时 Angular 应用程序构建用于生产时的参数 如果将文件复制到服务器子文件夹中 请附加构建标志 base href并设置适当地 例如 如果index html
  • golang 中 C++ 的“using”等价物是什么

    什么是C using some namespace objectgolang 中的等价物 根据问题here我可以得到using namespace common附有以下声明 import common 但这会导入整个命名空间 现在我只想使用
  • force_ssl 在 Rails 中做什么?

    在之前的一个question我发现我应该设置 nginx ssl 终止并且不让 Rails 处理加密数据 那么为什么会出现下面的情况呢 config force ssl true 我在生产配置文件中看到这一点被注释掉了 但是 如果期望 ng
  • PyInstaller 打包的应用程序在控制台模式下工作正常,在窗口模式下崩溃

    我正在使用 Python 和 PySide 构建一个相当复杂的应用程序 发布的日子终于临近了 所以我想将此应用程序构建为 exe 然而 我手上有一个奇怪的问题 我过去使用过 PyInstaller 顺便说一下 使用版本 2 但从未发生过这种
  • 如何以编程方式编译和实例化 Java 类?

    我将类名存储在属性文件中 我知道类存储将实现 IDynamicLoad 如何动态实例化该类 现在我有 Properties foo new Properties foo load new FileInputStream new File C
  • 在 Subversion 中替换整个目录树的最佳方法?

    在我的 Subversion 项目中 我有一些目录 其中包含我的代码所需的其他开源项目 例如 ffmpeg freetype matrixssl 和其他一些 更新 SVN 以保存这些项目之一的最新版本的最佳方法是什么 本质上我将执行以下操作
  • 什么机制允许 ViM 暂时覆盖整个控制台?

    当你进入vim 它 清除 屏幕 退出后 它会 恢复 原始内容 我知道可以使用 x1b 2J清除控制台并重置光标位置 但这将覆盖终端内容 我假设 Vim 使用ncurses在幕后 我想更好的问题是 ncurses 如何做到这一点 但它是如何完
  • 当 UAC 被拒绝时 Process.Start 永远不会返回

    我有一个更新程序 exe 旨在关闭主 exe 将其替换为更新的 exe 然后启动该更新的 exe 当更新程序尝试启动更新的 exe 时 如果用户拒绝 UAC 权限对话框 更新程序将挂起 这是因为Process Start 函数永远不会返回
  • mongodb $regex 中排序规则的使用

    由于 v3 4 排序规则可用于查找操作 尤其是在涉及变音符号匹配时 虽然具有确定值 eq 运算符或相应构造 的查找查询将匹配字母和相应的变音符号 但如果使用 regex 来实现部分搜索字符串 LIKE 的匹配 则情况并非如此 是否可以使 r
  • 解决 MSB3247 - 发现同一依赖程序集的不同版本之间存在冲突

    使用 msbuild 编译时 NET 3 5 解决方案最终出现此警告 有时 NDepend 可能会有所帮助 但在这种情况下 它没有提供任何进一步的详细信息 Like Bob我最终不得不在 ILDASM 中打开每个程序集 直到找到引用旧版本依
  • 在文本文件中查找特定单词并对其进行计数

    有人可以帮我写代码吗 如何在文本文件中搜索任何单词并计算其重复次数 例如测试 txt hi hola hey hi bye hoola hi 如果我想知道 test txt 中单词 Hi 重复了多少次 程序必须说 3次重复 希望您能明白我的
  • 在 Java 中编写布尔表达式的首选方法是什么

    我总是这样写布尔表达式 if isValid code 但我的新雇主坚持以下风格 if false isValid code 是首选一种样式还是标准样式 我更喜欢第一种风格 因为它对我来说阅读起来更自然 第二种风格很不寻常 有些人可能更喜欢
  • 为什么Python中的破折号写成'\xe2\x80\x93'?

    具体来说 每个转义是什么 xe2 x80 x93为什么需要 3 次转义 尝试单独解码会导致 数据意外结束 错误 gt gt gt print b xe2 x80 x93 decode utf 8 gt gt gt print b xe2 d
  • 如何实现无锁但阻塞的行为?

    我正在为密集型网络应用程序实现一个无锁的单生产者单消费者队列 我有一堆工作线程在它们自己的单独队列中接收工作 然后它们将其出队并进行处理 去掉这些队列的锁 大大提高了高负载下的性能 但当队列为空时它们不再阻塞 进而导致CPU使用率飙升 如何
  • 如何在Java中创建进程[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我想在我的应用程序中创建一个流程 但在查看了 Java 的 API 后 我仍然不太明白 基本上我想创建一个多进程应用程序 但新流程是我的应用程序中的
  • C++:参数传递“通过引用传递”

    我理解与任何其他变量一样 参数的类型决定了参数与其参数之间的交互 我的问题是 为什么您会引用参数 而为什么不引用参数背后的原因是什么 为什么有些函数参数可以引用 有些则不能 无法理解这样做的好处 有人可以解释一下吗 通过引用传递的能力存在有
  • Windows 桌面应用程序的使用情况跟踪[关闭]

    Closed 这个问题是无关 目前不接受答案 我正在寻找一些可用于收集 Windows 桌面应用程序的使用信息并对其进行分析的框架 例如 我希望能够回答以下问题 a 人们一天内使用此应用程序多少次 b 他们最喜欢的菜单项等 我简单地浏览了
  • 如何在终端中更改我的 Git 用户名?

    我在终端中从 git 进行推送和拉取 然后在 github com 上更改了我的用户名 我去推送一些更改 但它无法推送 因为它仍然识别我的旧用户名 如何在终端中的 git 上更改 更新我的用户名 在您的终端中 导航到您想要进行更改的存储库
  • 跟踪 YouTube 观看历史记录

    为了自动跟踪我的时间 我想获取我的观看历史记录 最好的情况 每天一次 最坏的情况是每分钟一次 并将其添加为 Google 日历事件 虽然我成功添加了 Google 日历活动 但无法获取 YouTube 观看历史记录 所以我想知道 v3 AP