【问题标题】:Print youtube video title script with just video ID provided仅提供视频 ID 打印 youtube 视频标题脚本
【发布时间】:2015-10-24 20:59:46
【问题描述】:

我正在做一个简单(对我来说不是那么简单)的 youtube BBCode,它将嵌入的视频隐藏在下拉列表中,当嵌入的视频太多时,不会导致网络浏览器在尝试加载它们时出现延迟同一时间。

我希望下拉菜单显示视频缩略图(已排序)和标题。

我对 javascript 了解不多,关于此的其他问题和答案对我没有用。例子:Fetching YouTube video title from known video id可能我不知道怎么实现。

我只需要脚本从 id 中获取 youtube 视频标题并打印出来,真的。

【问题讨论】:

  • 您在尝试链接的其他方法时遇到了哪些错误?
  • 恐怕我不知道如何检查这些错误。我刚刚复制粘贴了它们,只编辑了初始 var id,所以它使用海报提供的 id。
  • This answer 可能有助于学习如何检查 JavaScript 错误。
  • 要查询youtube API,我相信您必须注册应用程序并使用给定的密钥。旧 API 将允许任何人查询,但据我所知,他们已将其删除,促使人们使用 V3 API。
  • 这是您尝试使用的 2.0 API 的链接。 developers.google.com/youtube/2.0/… YouTube 数据 API (v2) 已于 2014 年 3 月 4 日正式弃用。 要使用的正确 API 是这个。 developers.google.com/youtube/v3/code_samples/javascript希望对你有帮助。

标签: javascript jquery youtube


【解决方案1】:

编辑:YouTube 在 2015 年关闭了 v2 API,请查看新 API v3 的文档以获取工作代码。

https://stackoverflow.com/a/30685729/753676

复制自https://stackoverflow.com/a/10597710/753676

你可以像这样使用纯 JavaScript 来做到这一点:

<script 
type="text/javascript" 
src="https://gdata.youtube.com/feeds/api/videos/videoid?v=2&alt=json-in-script&format=5&callback=getTitle">
</script>

然后:

function getTitle(data) {
 var feed = data.feed;
 var entries = feed.entry || [];
  for (var i = 0; i < entries.length; i++) {
   var entry = entries[i];
   var title = entry.title.$t;
  }
 } 

【讨论】:

    【解决方案2】:

    不幸的是,从第 3 版开始。没有身份验证的 youtube API 不再可能实现这一点。

    您可以使用noembed,但如果您想获取有关视频的基本信息,则无需 Auth。

    http://noembed.com/embed?url=http%3A//www.youtube.com/watch%3Fv%3DbDOYN-6gdRE&callback=my_embed_function

    响应是 JSON。

    【讨论】:

      猜你喜欢
      • 2021-09-05
      • 2022-01-27
      • 2012-05-22
      • 1970-01-01
      • 2011-09-27
      • 1970-01-01
      • 1970-01-01
      • 2016-01-11
      • 1970-01-01
      相关资源
      最近更新 更多