Youtube api 是否可以通过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 v3.0。
如果是,如何进行?

在进行搜索调用后,您必须调用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),
罪