我需要获取YouTube LIVE活动的指标(主要是实时总观看次数和实时总观看时间)。我在使用v2和v3 API时遇到问题。
我可以很好地安排和传输API,并且我想在广播结束后立即提取分析以汇总一些报告。
问题
如何从v3 API获取总的实时取景时间或平均实时取景时间?
或者,如何正确查询实时事件的v2报表API以获取非零数据?
有关当前尝试的更多详细信息
以下是我尝试过的查询类型:
YouTube v3 API:
https://www.googleapis.com/youtube/v3/videos?
id={live_video_id}&
part={"statistics,liveStreamingDetails"}&
access_token={access_token}
{
"kind": "youtube#videoListResponse",
"etag": "...",
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 1
},
"items": [
{
"kind": "youtube#video",
"etag": "...",
"id": "..",
"statistics": {
"viewCount": "38",
"likeCount": "1",
"dislikeCount": "0",
"favoriteCount": "0",
"commentCount": "0"
},
"liveStreamingDetails": {
"actualStartTime": "2018-10-11T12:01:23.000Z",
"actualEndTime": "2018-10-11T14:00:12.000Z",
"scheduledStartTime": "2018-10-11T12:00:00.000Z",
"scheduledEndTime": "2018-10-11T14:00:00.000Z"
}
}
]
}
我可以在此处获取statistics.viewCount的计数,但是无法获取观看的平均时间/总时间。
YouTube v2报告API:
https://youtubeanalytics.googleapis.com/v2/reports?
startDate={"2017-01-01"}&
endDate={time.Now().Add(24*time.Hour).Format("YYYY-MM-DD")}&
filters={"video==" + live_video_id}&
metrics={"views,estimatedMinutesWatched"}&
ids={"channel==MINE"}&
access_token={accessToken}
{
"kind": "youtubeAnalytics#resultTable",
"columnHeaders": [
{
"name": "views",
"columnType": "METRIC",
"dataType": "INTEGER"
},
{
"name": "estimatedMinutesWatched",
"columnType": "METRIC",
"dataType": "INTEGER"
}
],
"rows": [
[
0,
0
]
]
}
该查询似乎提供了我需要的指标,但即使v3返回非零视图,也都是0。
答案 0 :(得分:2)
TL; DR 对于不太受欢迎的实时流,YouTube Reports API v2不会经常更新指标。
我从自己的频道中提取了旧视频的views, estimatedMinutesWatched
。虽然这两个API都可以使用,但是 YouTube Reports API v2 返回的观看次数并不准确,并且落后于 YouTube Data API v3 。
接下来,我运行了一个直播(未列出),并与其他几个帐户一起参与了直播。在 Reports API v2 和YouTube Studio Analytics中都没有显示这些活动(例如,订阅,观看)。这证明 YouTube Reports API v2 返回的"rows": [[0,0]]
是完全正常的。但是令人惊讶的是, Data API v3 确实返回了您所指出的正确指标。
对于具有大量受众和参与度的实时流,Reports API可能运行得很好。
由于 Data API 不提供任何观看时间,所以最好的选择是将这两个API与 Data API v3 结合使用,以获取基本指标,例如views, likes,..
和 Reports API v2 以获得更复杂的指标。
提示:如果您以后有兴趣显示实时流指标,则可以使用dimension=liveOrOnDemand
参数并将指标单独过滤到LIVE
流。 / p>