Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get video url with youtube api(v3)

I'm working in node on a server and I'm trying to use the YouTube Api to get a video url. The particular url isn't important, this is more of just an exercise. As far as I can tell with the docs, the best way to find a particular video is if it is associated with a channel or user. IE,

  1. query the api with a username(GoogleDevelopers for example)
  2. get it's channel id
  3. query again to get that channels playlists
  4. search a particular playlist to get a playlist item
  5. given a playlistid, search with that to get items(each should represent a video)
  6. item ids have a videoId field, search with that
  7. get video info, but no url?

However, when I get to that point I feel like there should be a url to that video. The though process would be to send this url back to a front end to allow it to use some library to render the video.

QUESTION: Is there a better way to do this? If not, where am I missing the video URL,

like image 422
discodane Avatar asked Feb 04 '26 15:02

discodane


1 Answers

In your return you should get a videoId:

"id": 
{
  "kind": "youtube#video",
  "videoId": "BsLvIF5c7NU"
}

edit: the return is actually just the id:

"id": "BsLvIF5c7NU"

All you need to do is just append that to the standard url no?:

var url = `https://www.youtube.com/watch?v=${result.id.videoId}`;

Does that make sense?

edit: You could also use part=contentDetails in which case the id is under:

result.items.id

Depending on what you use in the part param will change up the layout of what's returned.

Hope that helps you, dude.

like image 76
DMcCallum83 Avatar answered Feb 06 '26 05:02

DMcCallum83