【问题标题】:YouTube Live Analytics (views, total watch time)YouTube 实时分析(观看次数、总观看时长)
【发布时间】:2019-03-16 16:29:09
【问题描述】:

我需要获取 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
    ]
  ]
}

这个查询似乎给出了我需要的指标,但它全是 0,即使 v3 返回非零视图。

【问题讨论】:

  • 能否提供日志?
  • 本身确实没有任何日志。如果您在上面注意到,我提供了一个示例 post 伪代码和响应(带有访问令牌和 id 已编辑)。

标签: youtube-api


【解决方案1】:

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 可能工作得很好。

由于 Data API 不提供任何类型的观看时间,您最好的办法是结合使用这两个 API,Data API v3 来获取views, likes,.. 等基本指标和 Reports API v2 以获得更复杂的指标。

提示:如果您对稍后显示直播指标感兴趣,可以使用dimension=liveOrOnDemand 参数并将指标单独过滤到LIVE 流中。

【讨论】:

    猜你喜欢
    • 2013-11-29
    • 1970-01-01
    • 2011-11-27
    • 1970-01-01
    • 2011-04-21
    • 2013-04-18
    • 1970-01-01
    • 2015-11-05
    • 1970-01-01
    相关资源
    最近更新 更多