如何在 Youtube 上获得推荐视频列表

Posted

技术标签:

【中文标题】如何在 Youtube 上获得推荐视频列表【英文标题】:How can I get a recommendation video list on Youtube 【发布时间】:2018-09-01 01:46:03 【问题描述】:

当我登录时,我们可以在 Youtube 网站顶部看到基于我的 Youtube 历史记录的个性化推荐视频。现在,我正在尝试使用 Youtube Data API v3 在 Youtube 上获取推荐视频。

据我所知,YouTube API v2 中有一个 API 可以获取推荐视频列表,但它在 v3 中已被弃用,如下所示:

视频推荐

YouTube Data API (v2) 功能:检索视频推荐

v3 API 不会检索仅包含为当前 API 用户推荐的视频的列表。但是,您可以使用 v3 API 通过调用 activities.list 方法并将 home 参数值设置为 true 来查找推荐视频。

在 API 响应中,如果 sn-p.type 属性的值为推荐,则资源对应于推荐视频。在这种情况下,contentDetails.recommendation.reason 和 contentDetails.recommendation.seedResourceId 属性将包含有关推荐视频的原因的信息。请注意,无法保证响应将包含任何特定数量的推荐视频。

https://developers.google.com/youtube/v3/guides/implementation/deprecated#Video_Recommendations

但是,尽管我尝试调用 activities.list 方法(请参阅https://developers.google.com/youtube/v3/docs/activities/list)并按照指导将 home 参数 sn-p.value 设置为 true,但我无法获得推荐列表。它只返回 Youtube Channel 上的 256 个热门视频,其中 sn-p.type 值为“上传”,channelTitle 值为“Youtube 上的热门”,而不是个性化推荐视频。有些视频必须有 sn-p.type 值作为“推荐”。

有没有人成功使用 Youtube Data API v3 获得个性化推荐视频列表?

谢谢。

【问题讨论】:

【参考方案1】:

如果您检查方法 Activities,则资源表示 (JSON) 的结构中包含 recommendation。

"recommendation": 
      "resourceId": 
        "kind": string,
        "videoId": string,
        "channelId": string,
      ,

我觉得你可以用这个。

【讨论】:

是的,有资源表示,但仅在 sn-p.type == 'recommendation' 的情况下。我的问题是我无法列出 sn-p.type 值为“推荐”的任何列表。所有 sn-p.type 值都是“上传”,而不是“推荐”。

以上是关于如何在 Youtube 上获得推荐视频列表的主要内容,如果未能解决你的问题,请参考以下文章

如何获得特定的 YouTube 评论?

在 youtube embed 上循环播放视频时如何隐藏播放列表

如何使用 YouTube iframe 获得更精确的当前、视频和开始时间?

Youtube API v3 - 如何以迭代方式获取视频列表

Youtube API - 如何排除未列出的视频?

youtube 如何在 Safari 上自动播放带音频的视频?