如何使用Google Apps脚本获取YouTube视频的网址

时间:2014-03-04 19:02:27

标签: google-apps-script youtube-data-api

我可以获得标题和视频ID,但我无法获得tumbnail。我一直收到一条错误消息,上面写着“以后缺少名字。运营商

function doGet(e) {
  var app = UiApp.createApplication();
  var vPanel = app.createVerticalPanel();
  var myLabel = app.createLabel('My Favorite channel');
  vPanel.add(myLabel);

var results = YouTube.Search.list('id,snippet', {
channelId: 'UCDiFRMQWpcp8_KD4vwIVicw',
order:'date',
maxResults: 3
  });

for (var i = 0; i < results.items.length; i++) {
  var item = results.items[i];      
  var hPanel = app.createHorizontalPanel();
  hPanel.add(app.createLabel('Video ID: '+item.id.videoId+' Video Title: '+item.snippet.title));
  hPanel.add(app.createImage(item.snippet.thumbnails.default.url));
  vPanel.add(hPanel);
  }

  app.add(vPanel);
  return app

}

2 个答案:

答案 0 :(得分:0)

由于您拥有视频ID,因此您可以使用简单的URL hack直接获取缩略图的网址。

hPanel.add(app.createLabel('Video ID: '+item.id.videoId+' Video Title: '+item.snippet.title));
hPanel.add(app.createImage('http://img.youtube.com/vi/' + item.id.videoId + '/mqdefault.jpg'));

您可以使用hqdefault.jpg替换mqdefault.jpq以获得高质量的缩略图。

答案 1 :(得分:0)

我认为比@Amit建议的that更强大的解决方案是直接引用视频资源对象中的url字段,如下所示:

hPanel.add(app.createImage(item.snippet.thumbnails['default'].url));