【问题标题】:GET YouTube Video URL - Data API 3.0获取 YouTube 视频 URL - 数据 API 3.0
【发布时间】:2013-09-20 10:03:43
【问题描述】:

我一直在查看有关如何获取频道的 JSON 视频列表的 Google 文档。而且我想出了如何获取带有缩略图和标题等的视频列表......但我无法找到如何获取 VIDEO MP4(或任何其他格式)的 URL。

您知道我需要在 iOS 应用中播放视频,而我的应用需要实际的 VIDEO URL,而不是一些仅返回缩略图或播放列表列表的烦人 url...

我在网上找到了这些说明,它们与最后一部分不同:

您必须获取上传播放列表 ID 才能上传每个视频。为此,您需要获取频道 ID。从频道 ID 获得播放列表 ID 后,这非常简单。我已经写出了下面所有三个的步骤。

此外,我们还提供 PubSubHubBub,让您每次都能收到提醒 新视频添加到频道,或者您可以使用 SUP (V2) 观看 在调用之前哪些资源发生了变化。

获取频道中所有上传视频的视频 ID 的说明 V3

获取您想要的频道的频道 ID(您可能只需要 这样做一次,然后你可以保存它)

使用 search.list 将 type 设置为频道 将 q 设置为频道的名称 你想抓住频道ID(像这样:“channelId”: "UC0X2VuXXXXXXXXXXXXXXXX") 获取频道上传的播放列表 ID 使用第 1 步中的频道 ID(您可能只需要这样做 一次,然后你可以保存它)

使用 channels.list 将第 2 步中的 id 设置为 UC0X2VuXXXXXXXXXXXXXXXX 来自 contentDetails 的上传键(类似于:“uploads”: "UU0XXXXXXXXXXXXXXXXXXXXX") 通过播放列表项获取视频 使用第 2 步中的播放列表 ID 的播放列表

使用 playlistItems.list 将 playlistId 设置为 UU0XXXXXXXXXXXXXXXXXXXX 从 step 2 遍历每个 PlaylistItem 并提取视频 id

如您所见,最后一部分说要通过播放列表项并提取视频 ID。我已经这样做了,但是我需要对视频 ID 做什么才能获取视频 URL ???

谁能帮帮我?

谢谢,丹。

【问题讨论】:

  • 肯定是使用视频 ID 将其添加到 youtube 网址的末尾?所以youtube.com/watch?v=YOURID。然后将其粘贴到 UIWebView 中
  • @MichaelM 嗯,我确实想到了。但我希望我的应用程序成为本机应用程序。我厌倦了使用 UIWebViews 来显示 YouTube 视频......当然,我必须有一种方法可以获得视频 URL,这样我就可以轻松地使用 MediaPlayer.framework 来播放视频。
  • 我在某处读到,由于 youtube ToS,您无法使用 mediaPlayer 框架播放 youtube 视频。我知道的唯一方法是 UIWebView(欢迎更正!)
  • @MichaelM 我认为不再是这种情况了,因为我自己在阅读服务条款时找不到任何相关信息。
  • 我会在答案中粘贴一些代码

标签: ios url video youtube-api gdata


【解决方案1】:
      NSString *youtubeHTML = [[NSString alloc] initWithFormat:@"\
                             <html><head>\
                             <style type=\"text/css\">\
                             body {    background-color: transparent;\
                             color: white; \
                             }\
                             </style>\
                             </head><body style=\"margin:0\">\
                             <iframe class=\"youtube-player\" width=\"280\" height=\"210\" src=\"http://www.youtube.com/embed/%@?\" frameborder=\"0\" allowfullscreen=\"true\"></iframe>\
                             </body></html>", videoID];

您还可以使用 URL 显示/隐藏内容,hd,从特定时间开始。

youTubeView = [[UIWebView alloc] initWithFrame:CGRectMake(yourframe)];
[youTubeView loadHTMLString:youtubeHTML baseURL:nil];

【讨论】:

  • 谢谢,如果不是 YouTube ToS,我想我可以使用 Cocoa URL 提取器然后在 MPMovieController 中播放视频,但是哦,这个解决方案也很棒 :)谢谢你:)
猜你喜欢
  • 1970-01-01
  • 2014-06-05
  • 2016-03-19
  • 2013-07-10
  • 2014-07-29
  • 2014-05-21
  • 2021-03-05
  • 2015-12-01
  • 2014-11-20
相关资源
最近更新 更多