YouTube:有没有一种方法可以让我获得用户观看的视频列表?



我想为我的Android应用程序的用户构建一个视频推荐。我有Google OAuth登录我的应用程序,我可以得到我的应用程序的用户在YouTube上观看的视频的数据吗?

这是一个使用v3 API的两步过程:

1。使用登录用户的OAuth2请求命中Channels.list方法。为part值代入contentDetails, 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有一个已知的错误,您的历史记录将不会返回。这个问题已经在内部报告给了YouTube的团队,本应该在两年前修复的。

相关内容

  • 没有找到相关文章

最新更新