Youtube API 3.0只需一次请求即可搜索视频并获取视频统计信息

Youtube API 3.0只需一次请求即可搜索视频并获取视频统计信息,youtube,youtube-api,Youtube,Youtube Api,我正在用youtube api 3.0搜索youtube视频 我正在使用这种类型的示例API请求 https://www.googleapis.com/youtube/v3/search?part=snippet&key=[API_KEY] 但我想获得在同一api请求中使用的视频的统计信息。如何解决这个问题 注意:当我对零件使用统计时键。我犯了个错误 我也尝试过这个请求 https://www.googleapis.com/youtube/v3/search?part=snippet,

我正在用youtube api 3.0搜索youtube视频

我正在使用这种类型的示例API请求

https://www.googleapis.com/youtube/v3/search?part=snippet&key=[API_KEY]
但我想获得在同一api请求中使用的视频的统计信息。如何解决这个问题

注意:当我对零件使用
统计时
键。我犯了个错误

我也尝试过这个请求

https://www.googleapis.com/youtube/v3/search?part=snippet,statistics&key=[API_KEY]

资源
搜索.列表
没有部分
统计信息

步骤1: 您需要通过
搜索来获取视频的
视频ID
“视频ID:“UHdgXkkVyl0”
。列表

请求:

https://www.googleapis.com/youtube/v3/search?part=id&q=tuto&type=video&key={YOUR_API_KEY}

答复如下:

 "items": [
  {
   "kind": "youtube#searchResult",
   "etag": "\"MmqJLb8ZBOWRQIsg7xej7lrKLMI/34CzOO9FXYQg7kdlOeoe59LsWVk\"",
   "id": {
    "kind": "youtube#video",
    "videoId": "UHdgXkkVyl0"
   }
  },
  {
   "kind": "youtube#searchResult",
   "etag": "\"MmqJLb8ZBOWRQIsg7xej7lrKLMI/U303dB0TgZ89ODlqdwuKs5efOdk\"",
   "id": {
    "kind": "youtube#video",
    "videoId": "LvEA2KHWQec"
   }
  },
步骤2: 使用
search.list
搜索视频后,需要使用
video.list
参数对API进行第二次调用:

part: statistics
id: "id of the video found in previous request"
  • 如果您有多个视频
    id
    ,则可以使用逗号分隔的列表指定视频的id,如:

    id:“Xxsdw6zG1bg,Xxsdw6zG1bg,…”)

请求:
https://www.googleapis.com/youtube/v3/videos?part=statistics&id=UHdgXkkVyl0%2C+Xxsdw6zG1bg&key={YOUR_API_key}

回答如下:

{
 "kind": "youtube#videoListResponse",
 "etag": "\"MmqJLb8ZBOWRQIsg7xej7lrKLMI/rxvjZzq2nNqBg7Me5VQv1ToZm64\"",
 "pageInfo": {
  "totalResults": 2,
  "resultsPerPage": 2
 },
 "items": [
  {

   "kind": "youtube#video",
   "etag": "\"MmqJLb8ZBOWRQIsg7xej7lrKLMI/3fah-cngFxFOnytseMYZU1TK_-8\"",
   "id": "UHdgXkkVyl0",
   "statistics": {
    "viewCount": "3070836",
    "likeCount": "72140",
    "dislikeCount": "1132",
    "favoriteCount": "0",
    "commentCount": "7798"
   }
  },
  {

   "kind": "youtube#video",
   "etag": "\"MmqJLb8ZBOWRQIsg7xej7lrKLMI/J4xM7Dd23TGYU6on-PESyEIAE9A\"",
   "id": "Xxsdw6zG1bg",
   "statistics": {
    "viewCount": "131487",
    "likeCount": "1459",
    "dislikeCount": "25",
    "favoriteCount": "0",
    "commentCount": "39"
   }
  }
 ]
}
你有统计数据

下面是一个示例,运行此代码后,您可以通过单个api调用将统计信息和代码段打印到控制台

您只需将链接的
?part=snippet&id
更改为
?part=statistics,snippet&id


”https://www.googleapis.com/youtube/v3/videos?part=statistics,snippet&id=dCQCkTRwTyw&key={{Your_Youtube_Api_key}}“

为什么他们现在要求您对此提出两个单独的请求?@MattO'Connell,因为您希望搜索并获取统计数据=1+1=2@mpgn, 1 + 2 = 2? 非常有用。我在问为什么他们会用3.0 API强制执行两个单独的请求,而不是一个在早期版本中检索相同数据所需的单个请求统计部分今天停止了对我的工作。发生什么事了@pdolinaj似乎(现在刚刚检查)如果视频不允许共享视频统计信息,您就无法通过youtube api获得它:(你为什么接受不符合你问题的答案?它与“搜索”不起作用),您必须按照mpgn的说法分两步执行:搜索视频/频道,然后发出与您编写的请求类似的请求以获取统计信息。如果在我的JSFIDLE示例中为用于获取视频的url提供api密钥,您应该通过单个请求同时获得
spinnet
statistics
。它不应该是snippet吗?@RegarBoy