我正在尝试使用 Youtube Analytics API 来收集我频道中所有视频的每日观看次数。似乎视频维度仅将结果限制在前 10 位。无论如何,我可以获得所有视频的每日观看次数吗?
1 回答
目前,您无法直接通过 Analytics API 获取所有视频的指标。首先,您需要获取所有视频的 id,然后为每个视频请求 Analytic 的数据。我是这样管理的:
- 通过数据 API https://www.googleapis.com/youtube/v3/channels?part=contentDetails&mine=true&maxResults=25&access_token=[TOKEN]获取您上传的视频的播放列表 ID 。给你这个结果:
{
"kind": "youtube#channelListResponse",
"etag": "\"F9iA7pnxqNgrkOutjQAa9F2k8HY/SAGx1pv6myGXge51dmywGW81h8o\"",
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 1
},
"items": [
{
"kind": "youtube#channel",
"etag": "\"F9iA7pnxqNgrkOutjQAa9F2k8HY/g5zJtodBJms3CAfwF_ar2nVgJjU\"",
"id": "[id]",
"contentDetails": {
"relatedPlaylists": {
"likes": "[id]",
"favorites": "[id]",
"uploads": "[id]",
"watchHistory": "[id]",
"watchLater": "[id]"
},
"googlePlusUserId": "[id]"
}
}
]
}
通过 Data API 使用上传播放列表 id 获取上传视频的所有 id:https://www.googleapis.com/youtube/v3/playlistItems?part=id&pageToken=&playlistId=[UPLOADID]&maxResults=50&access_token=[TOKEN]。注意:您必须使用 nextPageToken 对结果进行分页。
使用收集的视频 ID,您可以向 Analytics API https://www.googleapis.com/youtube/analytics/v1/reports?ids=channel==mine&start-date=2014-12-29&end-date=发出批量请求2015-01-05&metrics=views,likes&dimensions=video,day&filters=video==[videoId],[videoId],[videoId],[...]&sort=video&access_token=[TOKEN]注意:您最多可以批量处理 200 个视频标识。