質問編集履歴

4

2020/06/30 15:13

投稿

Yuiti628
Yuiti628

スコア71

test CHANGED
File without changes
test CHANGED
@@ -124,7 +124,7 @@
124
124
 
125
125
  このようなコードをいくつかみましたが、実行しても何も起こりません。
126
126
 
127
- windowだからかな?と思ってmacにしてもダメでした 笑
127
+
128
128
 
129
129
 
130
130
 

3

tuiki

2020/06/30 15:13

投稿

Yuiti628
Yuiti628

スコア71

test CHANGED
File without changes
test CHANGED
@@ -129,3 +129,11 @@
129
129
 
130
130
 
131
131
  どのようにすればローカルにmp4をダウンロードできるのでしょうか?
132
+
133
+
134
+
135
+
136
+
137
+ 追記
138
+
139
+ 参考:http://googleappsscript.hatenablog.com/entry/2017/09/06/120000

2

変更

2020/06/30 13:21

投稿

Yuiti628
Yuiti628

スコア71

test CHANGED
@@ -1 +1 @@
1
- Javascript(GAS)でmp4をダウンロードできますか?
1
+ Javascript(GAS)とMacでmp4をローカルにダウンロードしたい
test CHANGED
@@ -1,33 +1,131 @@
1
- スプレッドシートに動画URLがありま
1
+ PC : Macで
2
-
3
- 隣にチェックボックスを作り、チェックされていると動画だけをダウンロードしようとしています。
4
2
 
5
3
 
6
4
 
5
+
6
+
7
+ スプレッドシートに動画URLがあります。
8
+
9
+ 隣にチェックボックスを作り、チェックされていると動画だけをローカルにダウンロードしようとしています。
10
+
11
+
12
+
13
+
14
+
15
+ ```html
16
+
17
+ <!DOCTYPE html>
18
+
19
+ <html>
20
+
21
+ <head>
22
+
23
+ <title></title>
24
+
25
+ </head>
26
+
27
+ <body>
28
+
29
+ <script type='text/javascript'>
30
+
31
+
32
+
33
+ function handleDownload() {
34
+
35
+ var content = <?= getData();
36
+
37
+ ?>;
38
+
39
+ // 出力データを GAS から取得する
40
+
41
+ var blob = new Blob([ content ], {
42
+
43
+ "type" : "text/csv"}
44
+
45
+ );
46
+
47
+ if (window.navigator.msSaveBlob) {
48
+
49
+ window.navigator.msSaveBlob(blob, "test.txt");
50
+
7
- pythonではできたのですが、Javascript(GAS)側でどのようなすのでしょうか?
51
+ // msSaveOrOpenBlobの場合ファイルを保存せずに開け
52
+
53
+ window.navigator.msSaveOrOpenBlob(blob, "test.txt");
54
+
55
+ }
56
+
57
+ else {
58
+
59
+ document.getElementById("download").href = window.URL.createObjectURL(blob);
60
+
61
+ }
62
+
63
+ }
64
+
65
+ </script> <a href="#" id="download" onclick="handleDownload()">ダウンロード</a>
66
+
67
+ </body>
68
+
69
+ </html>
70
+
71
+ ```
8
72
 
9
73
 
10
74
 
11
75
  ```gas
12
76
 
77
+ function Downroad() {
78
+
79
+ // dialog.html をもとにHTMLファイルを生成
80
+
81
+ var html = HtmlService.createTemplateFromFile("dialog").evaluate();
82
+
83
+ // 上記HTMLファイルをダイアログ出力
84
+
85
+ SpreadsheetApp.getUi().showModalDialog(html, "ファイルダウンロード");
86
+
87
+ }
88
+
89
+
90
+
91
+ function getData() {
92
+
93
+ // スプレッドシート上の値を二次元配列の形で取得
94
+
13
95
  var sheet = SpreadsheetApp.getActiveSpreadsheet()
14
96
 
15
- var asheet = sheet.getSheetByName('シート');
97
+ var asheet = sheet.getSheetByName('操作シート');
16
98
 
17
-
99
+ var values = asheet.getRange(2 , sheet_url , 2, 1).getValues();
18
100
 
19
- var url = sheet.getRange(1,2).getValue() // あらかじめ入力しているurl
101
+ console.log(values);
20
102
 
103
+ // 二次元配列をCSV形式のテキストデータに変換
104
+
105
+ var dataArray = [];
106
+
107
+ for (var i = 0; i < values.length; i++) {
108
+
21
- var video = UrlFetchApp.fetch(url).getAs('video/mp4')
109
+ dataArray.push(values[i].join(","));
110
+
111
+ }
112
+
113
+ // 改行コード
114
+
115
+ return dataArray.join("\r\n");
116
+
117
+ }
118
+
119
+ ```
22
120
 
23
121
 
24
122
 
25
123
 
26
124
 
125
+ このようなコードをいくつかみましたが、実行しても何も起こりません。
126
+
27
- ```
127
+ windowだからかな?と思ってmacにしてもダメでした 笑
28
128
 
29
129
 
30
130
 
31
- くらいまでは分かりました (T . T)
32
-
33
- あとダウンロードたいです
131
+ ようにすればローカルにmp4をダウンロードできるのでょうか?

1

変更

2020/06/30 13:19

投稿

Yuiti628
Yuiti628

スコア71

test CHANGED
File without changes
test CHANGED
@@ -8,14 +8,26 @@
8
8
 
9
9
 
10
10
 
11
- > mp4 Javascript ダウンロード
11
+ ```gas
12
12
 
13
+ var sheet = SpreadsheetApp.getActiveSpreadsheet()
13
14
 
15
+ var asheet = sheet.getSheetByName('シート');
14
16
 
17
+
18
+
15
- などで調べも全然出てきません。
19
+ var url = sheet.getRange(1,2).getValue() // あらかじめ入力しいるurl
20
+
21
+ var video = UrlFetchApp.fetch(url).getAs('video/mp4')
16
22
 
17
23
 
18
24
 
19
25
 
20
26
 
27
+ ```
28
+
29
+
30
+
31
+ くらいまでは分かりました (T . T)
32
+
21
- 初心者なもで、手かりだけも教えて頂きたいです
33
+ あとダウンロードたいです