我想为我的Android应用程序的用户构建视频推荐器。我有谷歌OAuth登录我的应用程序。我可以获取有关我的应用用户在YouTube上观看的视频的数据吗?
答案 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内部报道,并且应该在两年前修复。