为了自动跟踪我的时间,我想获取我的观看历史记录(最佳情况:每天一次,最差情况每分钟一次),并将其添加为Google日历活动。
虽然我设法添加Google日历活动,但我无法获取YouTube观看记录。
所以我想知道v3 API是否提供类似的东西,或者是否有某种技巧来创建播放列表?
答案 0 :(得分:13)
很遗憾,YouTube API小组似乎已将此功能置于睡眠状态。
2016年8月11日,they announced that they would be deprecating the APIs for watch later and watch history playlists:
频道资源的
contentDetails.relatedPlaylists.watchHistory
和contentDetails.relatedPlaylists.watchLater
属性仅对授权用户检索有关用户自己频道的数据可见。 2016年9月12日之后,contentDetails.relatedPlaylists.watchHistory
将返回HL
的值,contentDetails.relatedPlaylists.watchLater
属性将为所有渠道返回WL
的值。请求检索频道观看历史记录的播放列表详细信息(
playlists.list
)或观看以后的播放列表将在2016年9月12日之后返回一个空列表。请求检索任一播放列表项目(playlistItems.list
)那些播放列表也会在那之后返回一个空列表。这适用于新值HL
和WL
,以及您的API客户端可能已存储的任何观看记录或观看以后的播放列表ID。
2016年9月15日,they announced they had removed this information from the APIs :(强调我的)
频道资源的
contentDetails.relatedPlaylists.watchHistory
和contentDetails.relatedPlaylists.watchLater
属性现在分别包含所有频道的HL
和WL
值。要清楚,这些属性仅对授权用户检索有关用户自己频道的数据可见。即使授权用户检索有关用户自己频道的数据,属性也始终包含值
HL
和WL
。因此,无法通过API检索观看记录和观看以后的播放列表ID。此外,检索频道观看历史记录的播放列表详情(
playlists.list
)或播放列表项目(playlistItems.list
)或观看以后播放列表的请求现在返回空列表。对于新值HL
和WL
,以及您的API客户端可能已存储的任何观看记录或观看以后的播放列表ID,此行为均属实。
2016年11月2日,他们甚至announced new errors indicating that such contents cannot be retrieved from the API:
playlistItems.list
方法返回此错误,表示请求尝试检索“观看记录”播放列表项,但无法使用API检索这些项。
另一方面,有overview page和migration from v2 guide等文档仍然表明通过播放列表API获取ID的旧方法。我个人认为这些文档已经过时了。
如果我在你的位置,我只是按照它来处理我的要求,避免这种情况。你可以回到v2或做一些其他的事情,比如抓取网站,但如果YouTube API明确禁止第三方使用这些内容,那么你可能会遇到法律问题。