Ata*_*CSE 5 youtube google-api youtube-api gdata youtube-javascript-api
看看这个链接,给出了一个例子
https://www.googleapis.com/youtube/v3/videos?id=7lCDEYXw3mM&key=YOUR_API_KEY
&part=snippet,contentDetails,statistics,status
Run Code Online (Sandbox Code Playgroud)
部分回应是
"contentDetails": {
"duration": "PT15M51S",
"aspectRatio": "RATIO_16_9"
},
Run Code Online (Sandbox Code Playgroud)
现在我想检索contentDetails或主要是持续时间.所以我打电话给
https://www.googleapis.com/youtube/v3/search?part=snippet,contentDetails&key=[API_KEY]&q=something&maxResults=15&&fields=items,nextPageToken,prevPageToken,tokenPagination
Run Code Online (Sandbox Code Playgroud)
表明
{
error: {
errors: [
{
domain: "youtube.part",
reason: "unknownPart",
message: "contentDetails",
locationType: "parameter",
location: "part"
}
],
code: 400,
message: "contentDetails"
}
}
Run Code Online (Sandbox Code Playgroud)
为什么?我错过了什么?如何检索视频的持续时间?
joh*_*h10 24
正如您已经发现的那样,Search:list调用不支持part参数的contentDetails.
您可以在Search:列表的参数值中包含的部件名称是id和snippet,并且那些返回非常少的数据.如果我们想要获得有关视频或视频的更具体数据,我们应该使用来自搜索的非常少的数据.
因此,要在搜索时获得视频时长,您必须拨打电话
GET https://www.googleapis.com/youtube/v3/search?part=id&q=anything&key={YOUR_API_KEY}
Run Code Online (Sandbox Code Playgroud)
并从响应项中提取videoId
"id": {
"kind": "youtube#video",
"videoId": "5hzgS9s-tE8"
}
Run Code Online (Sandbox Code Playgroud)
并使用它来进行视频:列表调用以获取更具体的数据
https://www.googleapis.com/youtube/v3/videos?id=5hzgS9s-tE8&key=YOUR_API_KEY&part=snippet,contentDetails,statistics,status
Run Code Online (Sandbox Code Playgroud)
并从响应数据中提取持续时间
"contentDetails": {
"duration": "PT15M51S",
"aspectRatio": "RATIO_16_9"
},
Run Code Online (Sandbox Code Playgroud)
小智 6
第1步:您使用搜索列表视频ID :列表
例如,您收到3个YouTube视频ID,如:
{zOYW7FO9rzA,zOYW7FO9rzA,-vH2eZAM30s}
第2步:您必须为第二个电话放置YouTube视频ID列表.
https://www.googleapis.com/youtube/v3/videos?part=contentDetails&id=zOYW7FO9rzA,zOYW7FO9rzA,-vH2eZAM30s&key={Your API KEY}
Run Code Online (Sandbox Code Playgroud)
因此,您无需为每个视频拨打电话
.结果将是:
{
"kind": "youtube#videoListResponse",
"etag": "\"iDqJ1j7zKs4x3o3ZsFlBOwgWAHU/p3KyUGr7ZRowLgKTqVFixrx7-mQ\"",
"pageInfo": {
"totalResults": 3,
"resultsPerPage": 3
},
"items": [
{
"kind": "youtube#video",
"etag": "\"iDqJ1j7zKs4x3o3ZsFlBOwgWAHU/psAhg0bxv1n1IfKwXhrPMV223YE\"",
"id": "zOYW7FO9rzA",
"contentDetails": {
"duration": "PT1M21S",
"dimension": "2d",
"definition": "hd",
"caption": "false",
"licensedContent": false
}
},
{
"kind": "youtube#video",
"etag": "\"iDqJ1j7zKs4x3o3ZsFlBOwgWAHU/YCi772AbPZizPuAFci702rE55tU\"",
"id": "T3Ysb9O3EWI",
"contentDetails": {
"duration": "PT1H28M47S",
"dimension": "2d",
"definition": "hd",
"caption": "false",
"licensedContent": false
}
},
{
"kind": "youtube#video",
"etag": "\"iDqJ1j7zKs4x3o3ZsFlBOwgWAHU/2BnWErqkysQERsaRNyd1ffGgJes\"",
"id": "-vH2eZAM30s",
"contentDetails": {
"duration": "PT12M57S",
"dimension": "2d",
"definition": "hd",
"caption": "false",
"licensedContent": false
}
}
]
}Run Code Online (Sandbox Code Playgroud)
格式持续时间:1H1M1S = 1小时1分钟和1秒
| 归档时间: |
|
| 查看次数: |
14250 次 |
| 最近记录: |