youtube - YouTube:有什么方法可以获取用户观看的视频列表?

标签 youtube youtube-api

我想为我的Android应用程序的用户构建视频推荐器。我有Google OAuth可以登录我的应用程序。我可以获取有关我的应用程序用户在YouTube上观看的视频的数据吗?

最佳答案

v3 API分为两个步骤:

1. 使用登录用户的OAuth2请求命中 Channels.list 方法。传递contentDetails以获得part值,并且mine = true

请求:

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

响应:
{
 "kind": "youtube#channelListResponse",
 "etag": "\"xmg9xJZuZD438sF4hb-VcBBREXc/41Jk5t11dHi2JfUXrF4jZJhaQnE\"",
 "pageInfo": {
  "totalResults": 1,
  "resultsPerPage": 1
 },
 "items": [
  {

   "kind": "youtube#channel",
   "etag": "\"xmg9xJZuZD438sF4hb-VcBBREXc/wfaiZMzCHBlyq_ZFJU5pMR4q4sg\"",
   "id": "UCt7iVnJwjBsof8IPLJHCTgQ",
   "contentDetails": {
    "relatedPlaylists": {
     "likes": "LLt7iVnJwjBsof8IPLJHCTgQ",
     "favorites": "FLt7iVnJwjBsof8IPLJHCTgQ",
     "uploads": "UUt7iVnJwjBsof8IPLJHCTgQ",
     "watchHistory": "HLt7iVnJwjBsof8IPLJHCTgQ",
     "watchLater": "WLt7iVnJwjBsof8IPLJHCTgQ"
    },
    "googlePlusUserId": "103927393533363914063"
   }
  }
 ]
}
watchHistory键的对象是您的观看历史记录的playlistId。保留此值以在步骤2中使用。

2. 使用步骤1中的playlistItems.list watchHistory命中 playlistId 方法。

请求:
HTTP GET: https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&id=HLt7iVnJwjBsof8IPLJHCTgQ&key={YOUR_API_KEY}

响应:
{
 "kind": "youtube#playlistItemListResponse",
 "etag": "\"xmg9xJZuZD438sF4hb-VcBBREXc/ozXLhcdE2ZWgvJu3ywqxtfQeL7o\"",
 "pageInfo": {
  "totalResults": 0,
  "resultsPerPage": 5
 },
 "items": [
 ]
}
items数组的内容将包含您的查看历史记录。

请注意,使用v3 API的known bug不会返回您的历史记录。该问题已内部报告给YouTube团队,应该在两年前修复。

关于youtube - YouTube:有什么方法可以获取用户观看的视频列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30490864/

相关文章:

youtube - 创建PowerPoint视频播放器?

ruby-on-rails - 尝试进行简单搜索时使用YouTube_IT时出现问题-Rails 3.1

python - Python:从YouTube下载字幕

javascript 将 YouTube 链接转换为嵌入视频

youtube - 有没有办法让用户订阅列表中的YouTube视频早于1周

iphone - 按 ID 加载单个视频的 YouTube GData 提要

javascript - 为 CLICK 事件分配匿名函数

android - 视频突然停止从 Youtube API 播放

javascript - 从 YouTube 缩略图抓取调色板

ios - YouTube视频停止在iPhone上运行-黑屏