質問編集履歴

1

文字列が取得できるコード、Blobが取得できないコードと呼び出し元を追加しました

2018/12/07 12:52

投稿

tone
tone

スコア12

test CHANGED
File without changes
test CHANGED
@@ -39,3 +39,99 @@
39
39
  コード.gsからHTMLへURL(文字列)を渡せることは確認していたので、
40
40
 
41
41
  大丈夫かと思ったのですが・・・
42
+
43
+
44
+
45
+ ### 文字列が取得できたコード(コード.gs)
46
+
47
+ ```コード.gs
48
+
49
+ function ProcFileDownload(formObject) {
50
+
51
+ var folderName = 'フォルダ名';
52
+
53
+ var fileName = 'ファイル名';
54
+
55
+
56
+
57
+ //ファイル名からフォルダIDとファイルIDを取得
58
+
59
+ var folderId = DriveApp.getFoldersByName(folderName).next().getId();
60
+
61
+ var fileId = DriveApp.getFolderById(folderId).getFilesByName(fileName).next()
62
+
63
+
64
+
65
+ var url = fileId.getDownloadUrl();
66
+
67
+ var wkToken = '&access_token=' + ScriptApp.getOAuthToken();
68
+
69
+
70
+
71
+ return url + wkToken;
72
+
73
+ }
74
+
75
+ ```
76
+
77
+ ### Blobが取得できないコード(コード.gs)
78
+
79
+ ```コード.gs
80
+
81
+ function ProcFileDownload(formObject) {
82
+
83
+ var folderName = 'フォルダ名';
84
+
85
+ var fileName = 'ファイル名';
86
+
87
+
88
+
89
+ //ファイル名からフォルダIDとファイルIDを取得
90
+
91
+ var folderId = DriveApp.getFoldersByName(folderName).next().getId();
92
+
93
+ var fileId = DriveApp.getFolderById(folderId).getFilesByName(fileName).next()
94
+
95
+
96
+
97
+ var url = fileId.getDownloadUrl();
98
+
99
+ var wkToken = '&access_token=' + ScriptApp.getOAuthToken();
100
+
101
+
102
+
103
+ return UrlFetchApp.fetch(url+wkToken).getBlob();
104
+
105
+ }
106
+
107
+ ```
108
+
109
+
110
+
111
+ ### index.html(JavaScript部/共通)
112
+
113
+ ```HTML
114
+
115
+ <script>
116
+
117
+ function handleFormDownloadSubmit(formObject) {
118
+
119
+ google.script.run.withSuccessHandler(downloadEvent).ProcFileDownload(formObject);
120
+
121
+ }
122
+
123
+
124
+
125
+ function downloadEvent(downloadFile) {
126
+
127
+ alert(downloadFile); //Blobの時はtypeofでObjectと表示されるが内容はNull
128
+
129
+
130
+
131
+ //以降はaタグを生成してclickイベントでダウンロード
132
+
133
+ }
134
+
135
+ </script>
136
+
137
+ ```