看看这个link,有一个例子

https://www.googleapis.com/youtube/v3/videos?id=7lCDEYXw3mM&key=YOUR_API_KEY
 &part=snippet,contentDetails,statistics,status

部分回应是
"contentDetails": {
    "duration": "PT15M51S",
    "aspectRatio": "RATIO_16_9"
   },

现在,我想检索contentDetails或主要是工期。所以我调用
https://www.googleapis.com/youtube/v3/search?part=snippet,contentDetails&key=[API_KEY]&q=something&maxResults=15&&fields=items,nextPageToken,prevPageToken,tokenPagination

表明
{
error: {
errors: [
{
domain: "youtube.part",
reason: "unknownPart",
message: "contentDetails",
locationType: "parameter",
location: "part"
}
],
code: 400,
message: "contentDetails"
}
}

为什么?我想念什么?如何获取视频的时长?

最佳答案

如您所知,Search:list调用不支持part参数的contentDetails。

您可以在Search:list的参数值中包括的零件名称是id和snippet,而这些零件名称返回的数据很少。如果我们想在一个或多个视频中获取更具体的数据,则应该在搜索中使用很少的数据。

因此,要在搜索时获得视频时长,您必须像

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

并从响应项中提取videoId
"id": {
"kind": "youtube#video",
"videoId": "5hzgS9s-tE8"
}

并使用它进行“视频:列表”调用以获取更具体的数据
https://www.googleapis.com/youtube/v3/videos?id=5hzgS9s-tE8&key=YOUR_API_KEY&part=snippet,contentDetails,statistics,status

并从响应数据中提取持续时间
 "contentDetails": {
 "duration": "PT15M51S",
 "aspectRatio": "RATIO_16_9"
 },

关于youtube - contentDetails或持续时间未使用Youtube v3 api,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27393842/

10-10 21:55