Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Google YouTube V3 API检索不到回复或不是所有评论_Youtube_Youtube Api_Youtube Data Api - Fatal编程技术网

使用Google YouTube V3 API检索不到回复或不是所有评论

使用Google YouTube V3 API检索不到回复或不是所有评论,youtube,youtube-api,youtube-data-api,Youtube,Youtube Api,Youtube Data Api,我正在尝试检索视频的所有评论和所有回复,但是,使用测试It接口(或Java库),我无法检索所有评论-我有以下两个失败的示例: 例1 示例视频和注释如下所示 当我使用 GET https://www.googleapis.com/youtube/v3/commentThreads?part=snippet&id=z12ei1s5gs2mc303523qsdigcxmphhlrd04&fields=etag%2CeventId%2Citems%2Ckind%2CnextPageTok

我正在尝试检索视频的所有评论和所有回复,但是,使用测试It接口(或Java库),我无法检索所有评论-我有以下两个失败的示例:

例1 示例视频和注释如下所示 当我使用

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}
我收到:

并注意
“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}
我收到一个空的答复:

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}
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}
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"
   }
  }

评论 但是,我已经读过了,它没有给我答案,因为我使用了带有parentId的评论列表,我仍然没有得到任何回复

即使我尝试了不推荐的方法-使用部分
片段,回复
,我也不会得到任何回复: 请求: 获取{YOUR_API_KEY}

但是,如果我不按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}
然后,瞧,评论线程现在有了这两个回复:

为什么我现在收到回复,而不是在我通过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}
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}
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"
   }
  }

例2 这个问题有点不同。 我有一个视频有7条评论(其中6条是顶级评论)。当我试图获得与此视频相关的所有顶级评论时,我只收到其中4条。 获取{YOUR_API_KEY}

答复中缺少的评论之一是。 当我训练获得具有此id的注释线程时,我确实获得了注释线程: 获取{YOUR_API_KEY}

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

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}
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}
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"
   }
  }

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

  • 我真的不明白YouTube和G+是如何整合在一起的,因此这可能是个问题,然而,我总是只使用YouTube观看这些视频,而不检查用户的G+页面,因此我认为情况不应该如此

关于这方面的类似问题:
  • 这是关于V2 API的,因此对我没有用处

  • 这个问题非常相似,并引发了类似的问题,然而,恰恰相反-作者并没有使用commentThread回复(这与文档一致)收到所有回复,但是,建议的解决方案是“使用调用,并为parentId指定commentThread的ID。”-这正是对我不起作用的地方

  • 作者忘记了分页

  • 类似的问题,但没有任何答案


当我通过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}
我得到以下回应:

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}
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}
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密钥存在问题。试着做一个新的并使用它。

有趣。我使用文档页面上的Try me函数生成了上面的示例,因此我没有使用实际应用程序中使用的API键(在实际应用程序中,它确实生成了相同的结果)。然而,我仍然在一个选项卡中填写了表单,因此我能够复制与生成这些示例时完全相同的请求——奇怪的是,我得到了不同的结果——它现在正在工作,但我确信我没有做任何更改(在我提问题时,另一个用户能够复制我的结果)。因此,这可能只是一个暂时的问题。我会等待一段时间,然后再试几次,看看错误是否会再次出现——如果不会,我就结束这个问题。然而,我已经尝试了我上次填写的所有请求,它们现在似乎奇迹般地工作了-因此它确实似乎是一个暂时的小故障(可能吗?)不确定,但希望你不会再看到这个问题。谢谢你的帮助。另外,我还有一个小问题:为什么pageInfo字段有时包含totalResults,有时不包含?好吧,它似乎仍然有问题-我有时只接收“resultsPerPage”:20而不是totalResults。API似乎不起作用。这是谷歌方面的错误。