Youtube api 是否可以通过Youtube数据API v3.0获取持续时间(时间)视频
有可能得到持续时间吗 (时间)视频通过Youtube数据API v3.0。Youtube api 是否可以通过Youtube数据API v3.0获取持续时间(时间)视频,youtube-api,youtube-data-api,Youtube Api,Youtube Data Api,有可能得到持续时间吗 (时间)视频通过Youtube数据API v3.0。 如果是,如何进行?在进行搜索调用后,您必须调用Youtube数据API的视频资源。您可以在搜索中放置多达50个视频id,因此您不必为每个元素调用它 您需要设置part=contentDetails,因为存在持续时间 例如,以下调用: https://www.googleapis.com/youtube/v3/videos?id=9bZkp7q19f0&part=contentDetails&key={Y
如果是,如何进行?在进行搜索调用后,您必须调用Youtube数据API的视频资源。您可以在搜索中放置多达50个视频id,因此您不必为每个元素调用它 您需要设置part=contentDetails,因为存在持续时间 例如,以下调用:
https://www.googleapis.com/youtube/v3/videos?id=9bZkp7q19f0&part=contentDetails&key={YOUR_API_KEY}
给出以下结果:
{
"kind": "youtube#videoListResponse",
"etag": "\"XlbeM5oNbUofJuiuGi6IkumnZR8/ny1S4th-ku477VARrY_U4tIqcTw\"",
"items": [
{
"id": "9bZkp7q19f0",
"kind": "youtube#video",
"etag": "\"XlbeM5oNbUofJuiuGi6IkumnZR8/HN8ILnw-DBXyCcTsc7JG0z51BGg\"",
"contentDetails": {
"duration": "PT4M13S",
"dimension": "2d",
"definition": "hd",
"caption": "false",
"licensedContent": true,
"regionRestriction": {
"blocked": [
"DE"
]
}
}
}
]
}
时间格式为ISO 8601字符串。PT表示持续时间,4M表示4分钟,13S表示13秒
有关更多详细信息,请参阅问题在进行搜索调用后,您必须调用Youtube数据API的视频资源。您可以在搜索中放置多达50个视频id,因此您不必为每个元素调用它 您需要设置part=contentDetails,因为存在持续时间 例如,以下调用:
https://www.googleapis.com/youtube/v3/videos?id=9bZkp7q19f0&part=contentDetails&key={YOUR_API_KEY}
给出以下结果:
{
"kind": "youtube#videoListResponse",
"etag": "\"XlbeM5oNbUofJuiuGi6IkumnZR8/ny1S4th-ku477VARrY_U4tIqcTw\"",
"items": [
{
"id": "9bZkp7q19f0",
"kind": "youtube#video",
"etag": "\"XlbeM5oNbUofJuiuGi6IkumnZR8/HN8ILnw-DBXyCcTsc7JG0z51BGg\"",
"contentDetails": {
"duration": "PT4M13S",
"dimension": "2d",
"definition": "hd",
"caption": "false",
"licensedContent": true,
"regionRestriction": {
"blocked": [
"DE"
]
}
}
}
]
}
时间格式为ISO 8601字符串。PT表示持续时间,4M表示4分钟,13S表示13秒
有关更多详细信息,请参阅问题在进行搜索调用后,您必须调用Youtube数据API的视频资源。您可以在搜索中放置多达50个视频id,因此您不必为每个元素调用它 您需要设置part=contentDetails,因为存在持续时间 例如,以下调用:
https://www.googleapis.com/youtube/v3/videos?id=9bZkp7q19f0&part=contentDetails&key={YOUR_API_KEY}
给出以下结果:
{
"kind": "youtube#videoListResponse",
"etag": "\"XlbeM5oNbUofJuiuGi6IkumnZR8/ny1S4th-ku477VARrY_U4tIqcTw\"",
"items": [
{
"id": "9bZkp7q19f0",
"kind": "youtube#video",
"etag": "\"XlbeM5oNbUofJuiuGi6IkumnZR8/HN8ILnw-DBXyCcTsc7JG0z51BGg\"",
"contentDetails": {
"duration": "PT4M13S",
"dimension": "2d",
"definition": "hd",
"caption": "false",
"licensedContent": true,
"regionRestriction": {
"blocked": [
"DE"
]
}
}
}
]
}
时间格式为ISO 8601字符串。PT表示持续时间,4M表示4分钟,13S表示13秒
有关更多详细信息,请参阅问题在进行搜索调用后,您必须调用Youtube数据API的视频资源。您可以在搜索中放置多达50个视频id,因此您不必为每个元素调用它 您需要设置part=contentDetails,因为存在持续时间 例如,以下调用:
https://www.googleapis.com/youtube/v3/videos?id=9bZkp7q19f0&part=contentDetails&key={YOUR_API_KEY}
给出以下结果:
{
"kind": "youtube#videoListResponse",
"etag": "\"XlbeM5oNbUofJuiuGi6IkumnZR8/ny1S4th-ku477VARrY_U4tIqcTw\"",
"items": [
{
"id": "9bZkp7q19f0",
"kind": "youtube#video",
"etag": "\"XlbeM5oNbUofJuiuGi6IkumnZR8/HN8ILnw-DBXyCcTsc7JG0z51BGg\"",
"contentDetails": {
"duration": "PT4M13S",
"dimension": "2d",
"definition": "hd",
"caption": "false",
"licensedContent": true,
"regionRestriction": {
"blocked": [
"DE"
]
}
}
}
]
}
时间格式为ISO 8601字符串。PT表示持续时间,4M表示4分钟,13S表示13秒
请参阅问题以了解更多详细信息。这里是我如何从.NET和C#中完成的。
首先包括“contentDetails”部分 其次,将持续时间转换为更易于编程管理的时间,如下所示:
TimeSpan YouTubeDuration = System.Xml.XmlConvert.ToTimeSpan(searchResult.ContentDetails.Duration);
我希望这是有帮助的以下是我如何从.NET和C#实现它的。
首先包括“contentDetails”部分 其次,将持续时间转换为更易于编程管理的时间,如下所示:
TimeSpan YouTubeDuration = System.Xml.XmlConvert.ToTimeSpan(searchResult.ContentDetails.Duration);
我希望这是有帮助的以下是我如何从.NET和C#实现它的。
首先包括“contentDetails”部分 其次,将持续时间转换为更易于编程管理的时间,如下所示:
TimeSpan YouTubeDuration = System.Xml.XmlConvert.ToTimeSpan(searchResult.ContentDetails.Duration);
我希望这是有帮助的以下是我如何从.NET和C#实现它的。
首先包括“contentDetails”部分 其次,将持续时间转换为更易于编程管理的时间,如下所示:
TimeSpan YouTubeDuration = System.Xml.XmlConvert.ToTimeSpan(searchResult.ContentDetails.Duration);
我希望这对使用javascript有所帮助
函数转换时间(d){
//忽略“PT”部分
d=d.搜索(/PT/i)>-1?d.切片(2):d;
设h,m,s;
//持续时间中字母h、m、s的索引
让hIndex=d.search(/h/i),
mIndex=d.search(/m/i),
sIndex=d.search(/s/i);
//h,m,s是否在持续时间内
设dContainsH=hIndex>-1,
dContainsM=mIndex>-1,
dContainsS=sIndex>-1;
//设置h、m、s
h=dContainsH?d.切片(0,印地语)+“:”;
m=dContainsM?d.slice(dContainsH?hIndex+1:0,mIndex):dContainsH?“0”:“0”;
s=dContainsS?d.slice(dContainsM?mIndex+1:hIndex+1,sIndex):“0”;
//在m或s之前添加0
s=(dContainsM | | dContainsS)和&s<10?“0”+s:s;
m=(dContainsH | | dContainsM)和&m<10?“0”+m+:“:m+”:”;
返回d!=“0S”?h+m+s:“活动”
}
console.log(converTime(“PT6M7S”)代码>使用javascript
函数转换时间(d){
//忽略“PT”部分
d=d.搜索(/PT/i)>-1?d.切片(2):d;
设h,m,s;
//持续时间中字母h、m、s的索引
让hIndex=d.search(/h/i),
mIndex=d.search(/m/i),
sIndex=d.search(/s/i);
//h,m,s是否在持续时间内
设dContainsH=hIndex>-1,
dContainsM=mIndex>-1,
dContainsS=sIndex>-1;
//设置h、m、s
h=dContainsH?d.切片(0,印地语)+“:”;
m=dContainsM?d.slice(dContainsH?hIndex+1:0,mIndex):dContainsH?“0”:“0”;
s=dContainsS?d.slice(dContainsM?mIndex+1:hIndex+1,sIndex):“0”;
//在m或s之前添加0
s=(dContainsM | | dContainsS)和&s<10?“0”+s:s;
m=(dContainsH | | dContainsM)和&m<10?“0”+m+:“:m+”:”;
返回d!=“0S”?h+m+s:“活动”
}
console.log(converTime(“PT6M7S”)代码>使用javascript
函数转换时间(d){
//忽略“PT”部分
d=d.搜索(/PT/i)>-1?d.切片(2):d;
设h,m,s;
//持续时间中字母h、m、s的索引
让hIndex=d.search(/h/i),
mIndex=d.search(/m/i),
sIndex=d.search(/s/i);
//h,m,s是否在持续时间内
设dContainsH=hIndex>-1,
dContainsM=mIndex>-1,
dContainsS=sIndex>-1;
//设置h、m、s
h=dContainsH?d.切片(0,印地语)+“:”;
m=dContainsM?d.slice(dContainsH?hIndex+1:0,mIndex):dContainsH?“0”:“0”;
s=dContainsS?d.slice(dContainsM?mIndex+1:hIndex+1,sIndex):“0”;
//在m或s之前添加0
s=(dContainsM | | dContainsS)和&s<10?“0”+s:s;
m=(dContainsH | | dContainsM)和&m<10?“0”+m+:“:m+”:”;
返回d!=“0S”?h+m+s:“活动”
}
console.log(converTime(“PT6M7S”)代码>使用javascript
函数转换时间(d){
//忽略“PT”部分
d=d.搜索(/PT/i)>-1?d.切片(2):d;
设h,m,s;
//持续时间中字母h、m、s的索引
让hIndex=d.search(/h/i),
mIndex=d.search(/m/i),
罪