YouTube数据API V3 - 没有视频网址

18

我正在使用Youtube数据API第3版来获取热门的Youtube视频,我调用REST API的方式如下:

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.search.list?part=snippet&forMine=true&maxResults=10&order=viewCount&type=video&_h=6&

我以JSON格式获取数据:

"kind": "youtube#searchResult",
"etag": "adasdasdasdasdas",
"id": 
{
  "kind": "youtube#video",
  "videoId": "123123asdsad12"
},
"snippet": 
{
  "publishedAt": "date",
  "channelId": "Gasdqqweqweqwr123123",
  "title": "my tutle",
  "description": "xyz",
  "thumbnails": 
  {
    "default": 
    {
      "url": "......jpg",
      "width": 120,
      "height": 90
    },
    "medium": 
    {
      "url": "......jpg",
      "width": 320,
      "height": 180
    },
    "high": 
    {
      "url": "......jpg",
      "width": 480,
      "height": 360
    }
  },
  "liveBroadcastContent": "none"
}

但是这些数据中不包含YouTube视频的链接,我该如何从API获取它呢?

2个回答

61

你可以像这样获得视频的URL:

你将会得到以下结果:

     "kind": "youtube#searchResult",
"etag": "\"adasdasdasdasdas"",
"id": {
"kind": "youtube#video",
"videoId": "123123asdsad12"
},
...

现在你得到了字段 "videoId": "123123asdsad12"

你可以通过链接访问视频:

https://www.youtube.com/watch?v=123123asdsad12

就是这样!


有没有一种编程方式可以获取完整的链接?我们已经有了ID,但是如果链接格式发生变化怎么办,例如将“v”改为“id”。就像“https://www.youtube.com/watch?id=123123asdsad12”这样。 - sulu.dev
它是 v,永远不会改变 :) - mpgn
2
为什么这是正确的答案?那个Youtube链接指向了HTML的Youtube页面。使用Youtube的嵌入链接https://www.youtube.com/embed/{视频id}会更好。 - user3502626

1
根据您的查询,“part”属性实际上表示您希望通话返回什么信息,“snippet”值将为每个结果返回更详细的信息,如果您想要“ videoID”数据,请执行以下操作,在“part”属性中添加“id”值,如下所示:...?part=snippet,id&...这将获取包含videoID信息的数据。谢谢!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接