如何使用 Youtube Javascript API 获取 youtube 用户的观看历史记录?

Posted

技术标签:

【中文标题】如何使用 Youtube Javascript API 获取 youtube 用户的观看历史记录?【英文标题】:How to get watched history of youtube user using Youtube Javascript API? 【发布时间】:2015-08-31 04:35:56 【问题描述】:

我能够使用 Youtube javascript API 获取搜索结果、用户的播放列表。

如何使用 Youtube Javascript API 获取用户的观看历史???

是否有任何 Javascript API 来获取用户的 Youtube 观看历史记录??

【问题讨论】:

这不再可能,请参阅this 答案。 Google 弃用了查看观看记录并稍后观看的功能。想对这张票发表评论,因为我搜索了一会儿才找到这个答案 【参考方案1】:

这是一般程序:

1) 获取给定用户频道的“观看历史”播放列表(因为频道 ID 是获取用户信息的关键)。请注意,这仅在用户通过 oAuth2 进行身份验证时才有效。

https://www.googleapis.com/youtube/v3/channels?part=contentDetails&mine=true&key=YOUR_API_KEY

有了这个响应,应该有一个“watchHistory”播放列表......拿走它并调用 playlistItems 端点:

https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=HLTFxEo9ofKM2Siifxoy5V_A&key=YOUR_API_KEY

不幸的是,许多用户现在通过 API 报告观看历史播放列表中存在错误:

https://code.google.com/p/gdata-issues/issues/detail?id=4642

所以你的里程可能会有所不同。

【讨论】:

感谢您的帮助!!!我从以下代码中获得了特定用户的观看历史记录: function handleAPILoaded() var request = gapi.client.youtube.channels.list( mine: true, part: 'contentDetails' ); request.execute(function (response) debugger; playlistId = response.result.items[0].contentDetails.relatedPlaylists.watchHistory; requestVideoPlaylist(playlistId); ); 我需要更多帮助...如何从 watchHistory 中获取已观看视频的类别。我想要基于类别的已观看视频。如果您给出答案,我会对我更有帮助对于这个查询。谢谢你的帮助.. @user3062437 在我的情况下,您建议获取观看历史的播放列表 ID 的请求返回了错误的播放列表 ID(“HL”)。当然,当使用错误的播放列表 id("HL") 发送 api 以获取详细信息时,返回空列表。谷歌为我们工作请...【参考方案2】:

这似乎不再适用于 V3 API。 watchHistory 播放列表 ID 现在始终设置为“HL”。

【讨论】:

Google 似乎阻止了对观看记录的访问:issuetracker.google.com/issues/35172816。

以上是关于如何使用 Youtube Javascript API 获取 youtube 用户的观看历史记录?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 URL 获取 YouTube 视频 ID?

如何使用 Youtube javascript API 在特定“秒”获取 youtube 视频的缩略图或快照?

Javascript - 如何以编程方式获取 Youtube 视频的网址? (自我回答)

如何使用 javascript API 和 json 获取 youtube 播放列表

如何使用 Ajax 和 JSON 在 javascript 中使用 v3 URL API 获取 Youtube 视频标题

如何使用 JavaScript API V3 以 JSON 格式获取 youtube 播放列表的数据