javascript - 如何通过用户名获取 Youtube channel 图片?

标签 javascript

有什么想法吗?
我检查了不支持此功能的 Youtube API。
可能吗?

我需要直接通过用户名获取缩略图
例如:

我有一个名为:communitychannel
的用户名 我想获得以下缩略图:
http://i2.ytimg.com/vi/YVrqydZz3e4/default.jpg


感谢您的回复!!
我知道我可以通过这样做来检索缩略图数据。但情况是,我将首先通过以下 URL 获取 Youtube 成员(member)的订阅项目列表:

http://gdata.youtube.com/feeds/api/users/[USER_NAME]/subscriptions

从Youtube官方文档看,响应数据包含tag。但是我从来没有看到它...

如果列表长度为 100,那么我需要发送总共 101 个请求来获取每个项目的缩略图数据。但是这样做会消耗太多的网络带宽。

那么,还有其他方法可以完成要求吗?谢谢!! ;-)

最佳答案

您可以使用这样的 url 获取用户图像:

您可以通过附加查询字符串来获取用户名和图像缩略图 partial responses api : ?fields=yt:用户名,媒体:缩略图

  • 您可以获得 json 格式的响应,以便通过附加在 javascript 中轻松使用: &alt=json-in-script&format=5

  • 您还可以通过附加指定在响应加载时执行的回调:&callback=showImage

您的网址现在如下所示:

http://gdata.youtube.com/feeds/api/users/communitychannel?fields=yt:username,media:thumbnail&alt=json-in-script&format=5&callback=showImage

要在页面中使用它,请将其放在脚本标记中,如下所示:

 <script type='text/javascript' src="your_url"/>

回调应该是这样的:

function showImage(data)
{
  var name= data.entry.yt$username.$t;
  var url = data.entry.media$thumbnail.url;
  $(document).append("<img src='"+ url +"'/>");
}

您必须确保在加载数据之前定义了 showImage 回调函数。

我创建了一个加载提要和用户图像的示例 here (确保将 communitychannel 更改为您自己的用户名,否则将无法使用)

我看不出比使用部分响应 api 更好的减少带宽的方法;

关于javascript - 如何通过用户名获取 Youtube channel 图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3572119/

相关文章:

javascript - jQuery 将项目从一个选择框移动到另一个选择框,同时保留列表顺序

javascript - 在我写完之后如何让我的按钮起作用?

javascript - 函数范围内的可变变量

javascript - 使用 angularjs 隐藏错误消息

javascript - JS : Prevent images loading lazy after setting to display:block

javascript - 在 Chrome 中重播 Audio 元素

javascript - jQuery:在 3 个类之间切换(最初)

javascript - 文件上传 - 显示文件名,即使我用 JS 隐藏它

javascript - 如何更新 forEach 函数中的变量?无法读取未定义的属性

javascript - 单击链接并使用 Javascript 在页面的另一部分中查看