Javascript youtube api除了代码段之外的任何零件参数都不起作用

Javascript youtube api除了代码段之外的任何零件参数都不起作用,javascript,ecmascript-6,youtube,youtube-api,Javascript,Ecmascript 6,Youtube,Youtube Api,我正在使用youtube api,并基于搜索请求api 这一切都有效。你可以从中看到它 在我的代码中,它如下所示: fetch(`https://www.googleapis.com/youtube/v3/search?part=snippet&q=${query}&key=${API_KEY}`) .then(res => { return res.json(); }).then(res => { setResults(res.

我正在使用youtube api,并基于搜索请求api

这一切都有效。你可以从中看到它

在我的代码中,它如下所示:

fetch(`https://www.googleapis.com/youtube/v3/search?part=snippet&q=${query}&key=${API_KEY}`)
   .then(res => {
     return res.json();
    }).then(res => {
       setResults(res.items);
    });
});
我将它作为url中的
part
传递
snippet
。这给了我一些数据,但我想得到更多,如视频持续时间等。它看起来可以通过检索


如果我添加
contentDetails
,api请求将失败。除了代码片段之外,还有人知道如何获取更多数据吗?

据我所知,您必须再次调用以检索此类详细信息(例如,
持续时间),但这次,您需要
视频ID
并调用

因此,使用您在问题中添加的第一个呼叫(稍作修改),您可以得到以下URL:

请求#1-搜索

你可以

第一个请求(“搜索”请求)的结果如下:


使用第一项
videoId
a0IrBTg6zcI
,创建对
视频的请求。如下所示列出
API

请求#2-视频

你可以

第二个请求(“视频”请求)的结果如下:

您可以在“contentDetails”部分中检查“duration”值

您还可以尝试YouTube数据API(v3)参考文档中提供的()功能


上面链接的try it具有获取videoId为a0IrBTg6zcI的视频信息的参数-与此答案中使用的相同,但是,此请求可能需要更多数据。

据我所知,您必须再次调用以检索此类详细信息(例如,
持续时间),但这次,您需要
videoId
并拨打电话

因此,使用您在问题中添加的第一个呼叫(稍作修改),您可以得到以下URL:

请求#1-搜索

你可以

第一个请求(“搜索”请求)的结果如下:


使用第一项
videoId
a0IrBTg6zcI
,创建对
视频的请求。如下所示列出
API

请求#2-视频

你可以

第二个请求(“视频”请求)的结果如下:

您可以在“contentDetails”部分中检查“duration”值

您还可以尝试YouTube数据API(v3)参考文档中提供的()功能

上面链接的try it具有获取视频ID为a0IrBTg6zcI的视频信息的参数,与此答案中使用的参数相同,但此请求可能需要更多数据

GET https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=5&q=lfc&fields=items(id%2FvideoId%2Csnippet%2Ftitle)%2CpageInfo&key={YOUR_API_KEY}
{
 "pageInfo": {
  "totalResults": 1000000,
  "resultsPerPage": 5
 },
 "items": [
  {
   "snippet": {
    "title": "Liverpool FC"
   }
  },
  {
   "id": {
    "videoId": "a0IrBTg6zcI"
   },
   "snippet": {
    "title": "Bob Paisley: The Humble Genius | Liverpool's most successful manager in his own words"
   }
  },
  {
   "id": {
    "videoId": "sxMbgeBreJ0"
   },
   "snippet": {
    "title": "Inside Anfield: Liverpool 4-3 Crystal Palace | TUNNEL CAM from the Reds' dramatic win"
   }
  },
  {
   "id": {
    "videoId": "g4TknSKYG98"
   },
   "snippet": {
    "title": "1000 Premier League Goals at Anfield | Some of our favourite strikes"
   }
  },
  {
   "id": {
    "videoId": "pMYCN506lXk"
   },
   "snippet": {
    "title": "What Alex Oxlade-Chamberlain return REALLY means for Liverpool midfield? ● LFC News"
   }
  }
 ]
}
GET https://www.googleapis.com/youtube/v3/videos?part=snippet%2C+contentDetails&id=a0IrBTg6zcI&fields=items(contentDetails%2Fduration%2Csnippet%2Ftitle%2Cstatistics%2Cstatus(embeddable%2CpublishAt))%2CpageInfo&key={YOUR_API_KEY}
{
 "pageInfo": {
  "totalResults": 1,
  "resultsPerPage": 1
 },
 "items": [
  {
   "snippet": {
    "title": "Bob Paisley: The Humble Genius | Liverpool's most successful manager in his own words"
   },
   "contentDetails": {
    "duration": "PT1M47S"
   }
  }
 ]
}