没有回复或没有使用Google YouTube V3 API检索所有评论

时间:2015-10-30 09:54:52

标签: youtube youtube-api youtube-data-api

我正在尝试使用所有回复检索视频的所有评论,但是,使用Test It界面(或Java库)我无法检索所有评论 - 我有两个例子,当我失败时:

示例1

示例视频和评论为https://www.youtube.com/watch?v=xCLy2DZdXhY&lc=z12ei1s5gs2mc303523qsdigcxmphhlrd04 当我使用

检索评论时
GET https://www.googleapis.com/youtube/v3/commentThreads?part=snippet&id=z12ei1s5gs2mc303523qsdigcxmphhlrd04&fields=etag%2CeventId%2Citems%2Ckind%2CnextPageToken%2CpageInfo%2CtokenPagination%2CvisitorId&key={YOUR_API_KEY}

我收到: The response for the particular comment - note that there are 2 replies

并注意"totalReplyCount": 2,行。

但是,当我尝试使用parentId获取所有回复时:

GET https://www.googleapis.com/youtube/v3/comments?part=snippet&parentId=z12ei1s5gs2mc303523qsdigcxmphhlrd04&fields=etag%2CeventId%2Citems%2Ckind%2CnextPageToken%2CpageInfo%2CtokenPagination%2CvisitorId&key={YOUR_API_KEY}

我收到一个空的回复:

Empty response

说明

我已阅读Youtube Data API v3: commentThread call doesn't give replies for some comment threads但是,它没有为我提供答案,因为我使用了带有parentId的评论列表,但我仍未收到任何回复。

即使我尝试了不推荐的方式 - 使用snippet,replies部分,我也没有得到任何回复: 请求:     获取https://www.googleapis.com/youtube/v3/commentThreads?part=snippet%2Creplies&id=z12ei1s5gs2mc303523qsdigcxmphhlrd04&fields=etag%2CeventId%2Citems%2Ckind%2CnextPageToken%2CpageInfo%2CtokenPagination%2CvisitorId&key= {YOUR_API_KEY}

Still no replies

但是,如果我没有通过其ID指定注释线程并指定我想要视频的所有注释线程:

GET https://www.googleapis.com/youtube/v3/commentThreads?part=snippet%2Creplies&videoId=xCLy2DZdXhY&fields=etag%2CeventId%2Citems%2Ckind%2CnextPageToken%2CpageInfo%2CtokenPagination%2CvisitorId&key={YOUR_API_KEY}

然后瞧 - 评论主题现在有了这两个回复:

Now with replies - Part 1 Now with replies - Part 2

为什么我现在收到回复,而不是当我通过parentId指定回复时,或者当我通过id指定评论帖子时?

此外,如果我接受其中一个回复的(奇怪的)ID并尝试通过此回复获得评论,我将收到空回复:

GET https://www.googleapis.com/youtube/v3/comments?part=snippet&id=z12ei1s5gs2mc303523qsdigcxmphhlrd04.1443381718685326&fields=etag%2CeventId%2Citems%2Ckind%2CnextPageToken%2CpageInfo%2CtokenPagination%2CvisitorId&key={YOUR_API_KEY}

Cannot find the reply

示例2

这个问题有点不同。 我有一个视频https://www.youtube.com/watch?v=-c76GeR2IWg,有7条评论(其中6条是最高级别)。当我尝试获取与此视频相关的所有顶级评论时,我只收到其中的4条。      获取https://www.googleapis.com/youtube/v3/commentThreads?part=snippet%2Creplies&videoId=-c76GeR2IWg&fields=etag%2CeventId%2Citems%2Ckind%2CnextPageToken%2CpageInfo%2CtokenPagination%2CvisitorId&key= {YOUR_API_KEY}

Only 4 top level comments

回复中缺少的评论之一是https://www.youtube.com/watch?v=-c76GeR2IWg&lc=z120d11g2yyjyxcxw04cg1xbaqfnslfaamk0k。 当我用这个id训练获得评论线程时,我确实获得了评论线程:     获取https://www.googleapis.com/youtube/v3/commentThreads?part=snippet%2Creplies&id=z120d11g2yyjyxcxw04cg1xbaqfnslfaamk0k&fields=etag%2CeventId%2Citems%2Ckind%2CnextPageToken%2CpageInfo%2CtokenPagination%2CvisitorId&key= {YOUR_API_KEY}

I can find it using its id

而且,当我尝试获取此评论的回复时(应该有1条回复)我收到一个空回复:

GET https://www.googleapis.com/youtube/v3/comments?part=snippet&parentId=z120d11g2yyjyxcxw04cg1xbaqfnslfaamk0k&fields=etag%2CeventId%2Citems%2Ckind%2CnextPageToken%2CpageInfo%2CtokenPagination%2CvisitorId&key={YOUR_API_KEY}

enter image description here

说明

  • 对于这两个示例,注释数小于页面大小。对于这个简单的例子,我跳过了分页并选择了只有少量注释的示例,在实际应用中我使用了分页但是我没有得到更多结果。

  • 我真的不明白YouTube和G +是如何集成在一起的,因此这可能是个问题,但是,我总是只使用youtube访问这些视频,而不是检查用户' G +页面,因此我想说不应该是这种情况。

关于SO的类似问题:

1 个答案:

答案 0 :(得分:1)

当我通过HTTP请求执行以下操作时:

https://www.googleapis.com/youtube/v3/comments?part=snippet&parentId=z12ei1s5gs2mc303523qsdigcxmphhlrd04&fields=etag%2CeventId%2Citems%2Ckind%2CnextPageToken%2CpageInfo%2CtokenPagination%2CvisitorId&key={YOUR_API_KEY}

我收到以下回复:

items": [
  {
   "kind": "youtube#comment",
   "etag": "\"0KG1mRN7bm3nResDPKHQZpg5-do/aOipn7OKd9ibVua9TWdtD2vJJgI\"",
   "id": "z12ei1s5gs2mc303523qsdigcxmphhlrd04.1443381718685326",
   "snippet": {
    "textDisplay": "JM",
    "parentId": "z12ei1s5gs2mc303523qsdigcxmphhlrd04",
    "authorDisplayName": "Asia Price",
    "authorProfileImageUrl": "https://lh3.googleusercontent.com/-XdUIqdMkCWA/AAAAAAAAAAI/AAAAAAAAAAA/4252rscbv5M/photo.jpg?sz=50",
    "authorChannelUrl": "http://www.youtube.com/channel/UCtUuxM3_g2hWA7qr17d85RQ",
    "authorChannelId": {
     "value": "UCtUuxM3_g2hWA7qr17d85RQ"
    },
    "authorGoogleplusProfileUrl": "https://plus.google.com/100662746258967935686",
    "canRate": false,
    "viewerRating": "none",
    "likeCount": 0,
    "publishedAt": "2015-09-27T19:21:58.685Z",
    "updatedAt": "2015-09-27T19:21:58.685Z"
   }
  },
  {
   "kind": "youtube#comment",
   "etag": "\"0KG1mRN7bm3nResDPKHQZpg5-do/NtowtHGdhytzw9YY9RxUopEgoTA\"",
   "id": "z12ei1s5gs2mc303523qsdigcxmphhlrd04.1443365800258222",
   "snippet": {
    "textDisplay": "0",
    "parentId": "z12ei1s5gs2mc303523qsdigcxmphhlrd04",
    "authorDisplayName": "FAY Fay",
    "authorProfileImageUrl": "https://lh3.googleusercontent.com/-XdUIqdMkCWA/AAAAAAAAAAI/AAAAAAAAAAA/4252rscbv5M/photo.jpg?sz=50",
    "authorChannelUrl": "http://www.youtube.com/channel/UC5b4dTxK4ae_roaMWMYpglQ",
    "authorChannelId": {
     "value": "UC5b4dTxK4ae_roaMWMYpglQ"
    },
    "authorGoogleplusProfileUrl": "https://plus.google.com/100517618639903741268",
    "canRate": false,
    "viewerRating": "none",
    "likeCount": 0,
    "publishedAt": "2015-09-27T14:56:40.258Z",
    "updatedAt": "2015-09-27T14:56:40.258Z"
   }
  }

当我使用API​​资源管理器时,我得到相同的结果。

对于你的第二个例子,

https://www.googleapis.com/youtube/v3/comments?part=snippet&parentId=z120d11g2yyjyxcxw04cg1xbaqfnslfaamk0k&fields=etag%2CeventId%2Citems%2Ckind%2CnextPageToken%2CpageInfo%2CtokenPagination%2CvisitorId&key={YOUR_API_KEY}

给了我

"items": [
  {
   "kind": "youtube#comment",
   "etag": "\"0KG1mRN7bm3nResDPKHQZpg5-do/UBoqDwv8bg8xZpbIepzI_M5gp9o\"",
   "id": "z120d11g2yyjyxcxw04cg1xbaqfnslfaamk0k.1409319325542384",
   "snippet": {
    "textDisplay": "Ahoj děkuju :) jo máš fajn videa :) ",
    "parentId": "z120d11g2yyjyxcxw04cg1xbaqfnslfaamk0k",
    "authorDisplayName": "Gumičkování s Péťou",
    "authorProfileImageUrl": "https://lh4.googleusercontent.com/-VJce_PtJx70/AAAAAAAAAAI/AAAAAAAAABI/dabMtsy0haY/photo.jpg?sz=50",
    "authorChannelUrl": "http://www.youtube.com/channel/UCAyuADHtiVTpiAbt2VVQhtQ",
    "authorChannelId": {
     "value": "UCAyuADHtiVTpiAbt2VVQhtQ"
    },
    "authorGoogleplusProfileUrl": "https://plus.google.com/101894467260220798842",
    "canRate": false,
    "viewerRating": "none",
    "likeCount": 0,
    "publishedAt": "2014-08-29T13:35:25.542Z",
    "updatedAt": "2014-08-29T13:35:25.542Z"
   }
  }

您的请求或API密钥可能存在问题。尝试制作一个新的并使用它。