James Lemon
James Lemon

Reputation: 426

Get length of videos calling youtube playlist API (v3)

$http.get("https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=PLFgquLnL59alCl_2TQvOiD5Vgm1hCaGSI&key={mykey}&maxResults=10")

I used the playlistItems but couldn't get the statistic part which contain duration of the video. Do I need to call twice? Get the video Id and make another call? or I'm missing something in this case?

Upvotes: 2

Views: 1425

Answers (2)

CashCow
CashCow

Reputation: 31445

This is how I do it (using Python but you can adapt it for whatever language you are using with http requests and JSON parsing)

 url = "https://www.googleapis.com/youtube/v3/videos?id=" + videoId 
     + "&key=" + DEVELOPER_KEY + "&part=snippet,contentDetails"
 r = requests.get(url)
 metadata = r.json()["items"][0]
 channelName = metadata["snippet"]["channelTitle"]
 publishedTime = metadata["snippet"]["publishedAt"]
 duration = metadata["contentDetails"]["duration"]  

duration is in a strange format that looks like

 PT4M11S

meaning 4 minutes 11 seconds. You will have to "parse" this.

Upvotes: 2

johnh10
johnh10

Reputation: 4185

For whatever reason, playlistItems do not include some things like statistics or category. You'll need to make a separate call using the video ID and https://developers.google.com/youtube/v3/docs/videos/list in order to get those fields.

Upvotes: 2

Related Questions