【发布时间】:2013-11-11 21:03:36
【问题描述】:
使用 Youtube V3 api,是否可以检查是否为视频启用/禁用了 cmets?视频的resource representation 并不表示可用于识别这一点的属性,但我想知道人们是否使用了另一种方法来找出这一点。
【问题讨论】:
标签: youtube-api
使用 Youtube V3 api,是否可以检查是否为视频启用/禁用了 cmets?视频的resource representation 并不表示可用于识别这一点的属性,但我想知道人们是否使用了另一种方法来找出这一点。
【问题讨论】:
标签: youtube-api
我实际上偶然发现了一种方法(通过我的一些用于收集 cmets 的代码中的错误),而且它非常简单。
API v3 在禁用 cmets 的视频上返回的 JSON 对象碰巧没有 statistics.commentCount 属性。
因此,您只需在请求中包含part=statistics,并检查响应中的statistics.commentCount 属性。
例如,在 Python 中:
youtube = build(YOUTUBE_API_SERVICE_NAME,
YOUTUBE_API_VERSION,
developerKey=DEVELOPER_KEY)
vid_stats = youtube.videos().list(
part="statistics",
id=vidId
).execute()
comment_count = vid_stats.get("items")[0].get("statistics").get("commentCount")
如果 cmets 被禁用,comment_count 将获得值 None
【讨论】:
之前在 Public issue tracker 中请求过,但 API 中尚不可用。
【讨论】:
statistics.commentCount 仅在我们没有任何 cmets 并且我们可能会或可能不会禁用 cmets 时才给出 null。如果我们已经有 cmets 并且我们禁用了 cmets,那么它会给出正确的 cmets 计数。到目前为止,我没有看到通过 API 检查是否为 YouTube 视频启用了 cmets 的选项。
【讨论】: