如何从Youtube Analytics API获得观看率?

问题描述

我一直在阅读YouTube的api文档,但是很难弄清楚如何用Python计算给定视频的每周观看次数。这可能吗?谢谢!

解决方法

YouTube Analytics and Reporting APIs不能提供您所需的指标-每周的观看次数(据我所知)。

YouTube Data API也不提供您所需的信息-每周的观看次数-但您可以根据此属性来计算自己:

statistics.viewCount(无符号长)
视频被观看的次数。

因此,您应该调用Videos.list API端点,并向其传递参数id=VIDEO_IDpart=statistics,其中VIDEO_ID是您正在观看的视频的ID感兴趣。

安排程序每周读取viewCount属性,以根据需要计算每周观看次数


在Python的上下文中,如果您使用的是Google APIs Client Library for Python,则对Videos.list端点的调用将类似于:

from googleapiclient.discovery import build
youtube = build('youtube','v3',developerKey = APP_KEY)

response = youtube.videos().list(
    id = VIDEO_ID,part = 'statistics',fields = 'items(statistics(viewCount))',maxResults = 1
).execute()

view_count = response['items'][0]['statistics']['viewCount']

请注意,由于没有错误处理,因此上面的代码已大大简化。

还要注意,上面的代码使用参数fields从端点 only 获得viewCount属性。 (最好只从API询问真正需要的信息。)

使用此端点的另一个警告是:

即使官方文档说端点的响应包含类型为viewCount的{​​{1}}属性,实际的JSON响应也具有该属性值的字符串类型:

unsigned long

因此,上面的变量{ "items": [ { "statistics": { "viewCount": "54508" } } ] } 的类型为view_count;当然,将其用作整数将需要转换形式str

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...