【问题标题】:Check if comments are enabled for a YouTube video检查是否为 YouTube 视频启用了评论
【发布时间】:2013-11-11 21:03:36
【问题描述】:

使用 Youtube V3 api,是否可以检查是否为视频启用/禁用了 cmets?视频的resource representation 并不表示可用于识别这一点的属性,但我想知道人们是否使用了另一种方法来找出这一点。

【问题讨论】:

    标签: youtube-api


    【解决方案1】:

    我实际上偶然发现了一种方法(通过我的一些用于收集 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

    【讨论】:

      【解决方案2】:

      之前在 Public issue tracker 中请求过,但 API 中尚不可用。

      【讨论】:

        【解决方案3】:

        statistics.commentCount 仅在我们没有任何 cmets 并且我们可能会或可能不会禁用 cmets 时才给出 null。如果我们已经有 cmets 并且我们禁用了 cmets,那么它会给出正确的 cmets 计数。到目前为止,我没有看到通过 API 检查是否为 YouTube 视频启用了 cmets 的选项。

        【讨论】:

          猜你喜欢
          • 2015-09-26
          • 2018-01-07
          • 2013-01-16
          • 2012-11-07
          • 2016-11-22
          • 2012-07-18
          • 2016-05-28
          • 2013-11-21
          • 1970-01-01
          相关资源
          最近更新 更多