PC : Macです
スプレッドシートに動画URLがあります。
隣にチェックボックスを作り、チェックされていると動画だけをローカルにダウンロードしようとしています。
html
1<!DOCTYPE html> 2<html> 3<head> 4 <title></title> 5</head> 6<body> 7 <script type='text/javascript'> 8 9 function handleDownload() { 10 var content = <?= getData(); 11 ?>; 12 // 出力データを GAS から取得する 13 var blob = new Blob([ content ], { 14 "type" : "text/csv"} 15 ); 16 if (window.navigator.msSaveBlob) { 17 window.navigator.msSaveBlob(blob, "test.txt"); 18 // msSaveOrOpenBlobの場合はファイルを保存せずに開ける 19 window.navigator.msSaveOrOpenBlob(blob, "test.txt"); 20 } 21 else { 22 document.getElementById("download").href = window.URL.createObjectURL(blob); 23 } 24 } 25 </script> <a href="#" id="download" onclick="handleDownload()">ダウンロード</a> 26</body> 27</html>
gas
1function Downroad() { 2 // dialog.html をもとにHTMLファイルを生成 3 var html = HtmlService.createTemplateFromFile("dialog").evaluate(); 4 // 上記HTMLファイルをダイアログ出力 5 SpreadsheetApp.getUi().showModalDialog(html, "ファイルダウンロード"); 6} 7 8function getData() { 9 // スプレッドシート上の値を二次元配列の形で取得 10 var sheet = SpreadsheetApp.getActiveSpreadsheet() 11 var asheet = sheet.getSheetByName('操作シート'); 12 var values = asheet.getRange(2 , sheet_url , 2, 1).getValues(); 13 console.log(values); 14 // 二次元配列をCSV形式のテキストデータに変換 15 var dataArray = []; 16 for (var i = 0; i < values.length; i++) { 17 dataArray.push(values[i].join(",")); 18 } 19 // 改行コード 20 return dataArray.join("\r\n"); 21}
このようなコードをいくつかみましたが、実行しても何も起こりません。
どのようにすればローカルにmp4をダウンロードできるのでしょうか?
追記
参考:http://googleappsscript.hatenablog.com/entry/2017/09/06/120000
あなたの回答
tips
プレビュー