我需要获取 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"
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
我可以在此处获取 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
]
]
}
Run Code Online (Sandbox Code Playgroud)
这个查询似乎提供了我需要的指标,但它全是 0,即使 v3 返回非零视图。
TL;DR YouTube Reports API v2 不会经常更新不太受欢迎的直播流的指标。
我views, estimatedMinutesWatched从我的频道中获取了一个旧视频。虽然这两个 API 都有效,但YouTube Reports API v2返回的观看次数并不准确,并且落后于YouTube Data API v3。
接下来,我进行了直播(未公开),并与其他几个帐户一起参与了直播。这些互动(例如订阅、观看)均未显示在Reports API v2和 YouTube Studio 分析中。这证明YouTube Reports API v2"rows": [[0,0]]返回的结果是完全正常的。但令人惊讶的是,正如您所指出的, Data API v3确实返回了正确的指标。
对于拥有大量观众和参与度的直播,Reports API 可能工作得非常好。
由于数据 API不提供任何类型的观看时间,因此最好的选择是结合使用这两个 API,数据 API v3可以获取基本指标(例如views, likes,..,报告 API v2)来获取更复杂的指标。
提示:如果您有兴趣稍后显示直播流指标,可以使用该dimension=liveOrOnDemand参数并将指标LIVE单独过滤到流中。
| 归档时间: |
|
| 查看次数: |
565 次 |
| 最近记录: |