【问题标题】:How to get all comments on a YouTube video?如何获取 YouTube 视频的所有评论?
【发布时间】:2013-11-26 18:24:33
【问题描述】:

由于 Google 已弃用 YouTube v2 API,我无法找到从视频中获取所有 cmets 的方法。

是否可以使用单个未弃用的 API(Google+、YT v3)来做到这一点?

我不关心维护线程。

【问题讨论】:

标签: youtube-api google-api google-plus youtube-data-api


【解决方案1】:

相信我它有效

https://www.googleapis.com/youtube/v3/commentThreads?key=******************&textFormat=plainText&part=sn-p&videoId=kffacxfA7G4&maxResults=50

key由google开发者控制台提供,50表示50个cmets,格式为json,video id为视频的id。对于任何类型的查询,请在下方评论。

【讨论】:

  • 确实有效。不过,API 部分的名称颇具误导性。
  • 这是否也得到回复的回复,而不仅仅是对顶级 cmets 的回复?
  • 我能否在不重复的情况下获得投票最多的评论?
  • 这只会获得顶级 cmets
【解决方案2】:

显然现在可以获取comment threads


(旧答案)

目前使用第一方工具是不可能的。

来源:

虽然 v3 提供了 v2 的大部分功能,但目前有 一些只能使用旧 API 完成的任务。 具体来说,管理字幕或使用 视频 cmets 仍然需要使用 v2 API,直到现代等价物 可用。我们的目标是很好地提供类似的功能 在 2015 年 4 月关闭日期之前 - 请订阅此博客, YouTube Data API v3 修订历史页面,或关注 +YouTubeDev on Google+ 以保持最新状态。 - http://apiblog.youtube.com/2014/03/committing-to-youtube-data-api-v3.html

TubeKit(YouTube 抓取工具包)可能对某些人有所帮助。

【讨论】:

【解决方案3】:

使用comments API 一次最多只能获得 100 个。但是您从评论 api 响应中获得了 nextPageToken。将&pageToken={nextPageToken} 传递给下一个api 调用,直到nextPageToken 未定义。然后,您可以根据需要获得所有 cmets。

https://www.googleapis.com/youtube/v3/commentThreads?key={your_api_key}&textFormat=plainText&part=snippet&videoId={video_id}&maxResults=100&pageToken={nextPageToken}

【讨论】:

    【解决方案4】:
    $.ajax({
            dataType: "jsonp",
            type: 'GET',
    url: "https://www.googleapis.com/youtube/v3/commentThreads?key=PUT-YOUR-KEYXXXXXXX&textFormat=plainText&part=snippet&videoId=PUT-YOUR-VIDEO-ID",
            success: function(result){
                data = result;
                $('.data').text(data);
                console.log(data);
        }});
    

    要找到 PUT-YOUR-KEY(API key) ---> https://console.developers.google.com/apis/credentials 然后点击蓝色按钮选择 API key 选项,您可以获得

    【讨论】:

      【解决方案5】:

      你可以使用https://www.googleapis.com/youtube/v3/commentThreads获取所有的cmets

      Youtube API v3.0 允许您使用以下参数。

      1. textFormat - 此参数指示 API 是否应返回格式为 HTML 或纯文本的 cmets。默认值为 html。

      2. videoId - 您要获取 cmets 的 Youtube 视频 ID(如果您不知道自己的 Youtube 视频 ID,可以从 Youtube Video ID Finder 获取)

      3. maxResults - maxResults 参数指定结果集中应返回的最大项目数。

      4. pageToken - pageToken 参数标识结果集中应返回的特定页面。在 API 响应中,nextPageToken 属性标识可以检索的结果的下一页。

      【讨论】:

        猜你喜欢
        • 2017-07-12
        • 1970-01-01
        • 2017-08-13
        • 2016-11-14
        • 2016-05-28
        • 1970-01-01
        • 2010-10-08
        • 2017-12-11
        • 2015-09-24
        相关资源
        最近更新 更多