YouTube:我有没有办法获取用户查看的视频列表?

时间:2015-05-27 18:54:47

标签: youtube youtube-api

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

1 个答案:

答案 0 :(得分:2)

这是使用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中的watchHistory playlistId点击playlistItems.list方法。

请求:

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内部报道,并且应该在两年前修复。