YouTube Live Analytics(观看次数,总观看时间)

时间:2018-10-11 14:28:46

标签: youtube-api

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

1 个答案:

答案 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>