読者です 読者をやめる 読者になる 読者になる

技術のメモ帳

気が向いたときに書いてます

[GAS]SpreadsheetからYouTube動画を再生する

今回は、SpreadsheetからYouTube動画を再生するコードをGoogle Apps Scriptで書いてみました。

単純に埋め込み用のiframeを表示するだけでは脳がないので、アクティブなセルからIDを取得して、表示するようにしてみました。

実装したコード

特に難しいことはしておらず、onOpen()→showModalDialog()で表示するのみです。

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  ui.createMenu('SCRIPT').addItem('Play', 'showModalDialog').addToUi();
}

function onEdit() {
  onOpen();
}

function showModalDialog() {
  var html = HtmlService.createTemplateFromFile('viewer').evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME).setWidth(420).setHeight(315);
  SpreadsheetApp.getUi().showModalDialog(html, 'YouTube Player');
}

function getYouTubeUrl() {
  var id = SpreadsheetApp.getActiveSheet().getActiveCell().getValue();
  return 'https://www.youtube.com/embed/'+id+'?cc_load_policy=0&vq=highres&rel=0&loop=1&autoplay=1';
}

テンプレートは次のようになります。

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    <iframe width="420" height="315" src="<?!= getYouTubeUrl(); ?>" frameborder="0" allowfullscreen></iframe>
  </body>
</html>

動作確認

表示されました。利用するシチュエーションが分かりませんねw

GASの拡張APIで、YouTubeの検索APIが利用できるので、それを使う前段として、このような誰得の実装をしてみました。

参考リンク

YouTube動画をブログ埋め込み時に使える便利なカスタマイズ方法!パラメーター14選まとめ[前編] | movieTIMES ムービータイムス