質問編集履歴

4

多少進みました。

2021/11/18 08:00

投稿

zamzam24
zamzam24

スコア9

test CHANGED
File without changes
test CHANGED
@@ -238,13 +238,25 @@
238
238
 
239
239
 
240
240
 
241
+ //追加
242
+
243
+ var sheet = SpreadsheetApp.openById("1HPx6SzFB8hdd37bwCianXOC5L2Yya2Xu4CmBQzlRAWY").getSheetByName("シート2");
244
+
245
+ var errormail = sheet.getRange("A1").getValue();
246
+
247
+ function newmail(){
248
+
249
+ return SpreadsheetApp.openById("シートID").getSheetByName("シート2").getRange("A1").getValue();
250
+
251
+ }
252
+
253
+
254
+
241
- ```
255
+ ```
242
-
243
-
244
256
 
245
257
  ```html
246
258
 
247
-
259
+ //変更後
248
260
 
249
261
  <!DOCTYPE html>
250
262
 
@@ -262,12 +274,62 @@
262
274
 
263
275
  <meta charset="UTF-8">
264
276
 
277
+
278
+
279
+ <?!= include('js'); ?>
280
+
281
+
282
+
265
283
  </head>
266
284
 
267
285
  <body>
268
286
 
269
287
 
270
288
 
289
+ <div id= "app" >
290
+
291
+ <p>{{ message }}</p>
292
+
293
+ </div>
294
+
295
+ <?!= include('css'); ?>
296
+
297
+
298
+
299
+
300
+
301
+ </body>
302
+
303
+ </html>
304
+
305
+ ```
306
+
307
+ ```html
308
+
309
+ //変更前
310
+
311
+ <!DOCTYPE html>
312
+
313
+ <html>
314
+
315
+ <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
316
+
317
+ <head>
318
+
319
+ <base target="_top">
320
+
321
+
322
+
323
+ <!-- vue.js -->
324
+
325
+ <meta charset="UTF-8">
326
+
327
+ </head>
328
+
329
+ <body>
330
+
331
+
332
+
271
333
  <?!= include('js'); ?>
272
334
 
273
335
 
@@ -306,6 +368,46 @@
306
368
 
307
369
  <script>
308
370
 
371
+ google.script.run.withSuccessHandler(vuetest).newmail();
372
+
373
+
374
+
375
+ function vuetest(message){
376
+
377
+ new Vue({
378
+
379
+ el: "#app",
380
+
381
+ data:{
382
+
383
+ message : message
384
+
385
+ },
386
+
387
+ watch:{
388
+
389
+ message:function(){
390
+
391
+ alert(message)
392
+
393
+ },
394
+
395
+ }
396
+
397
+ });
398
+
399
+ }
400
+
401
+ </script>
402
+
403
+ ```
404
+
405
+ ```
406
+
407
+ //消去
408
+
409
+ <script>
410
+
309
411
  var vm = new Vue({
310
412
 
311
413
  el: "#vm",
@@ -338,13 +440,11 @@
338
440
 
339
441
  ### 試したこと
340
442
 
341
-
443
+ 追加・変更部分で、messageをメールの中身に変更はできました。ただ、メールに対応してシート2A1が変化しても、Webアプリでは何も変化しません。
342
-
444
+
343
- 変数ではない数値の入力はできたため、maildataと入出力がうまくいってないのか
445
+ メッセージという変数参照では呼びしてる中身が化しても、下処理は行われないのでしょう
344
-
345
- 変数をこの形では入れ込めないのか、のどちらかだとは思うのですが、確認する方法と解決手段がわかりません。
446
+
346
-
347
- ※messageにhogehogeとか入力した場合はhogehogeで出力された、くらいです
447
+
348
448
 
349
449
  ### 補足情報(FW/ツールのバージョンなど)
350
450
 

3

多少の記述変更

2021/11/18 08:00

投稿

zamzam24
zamzam24

スコア9

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
-
3
+ ※初心者です。初めに書いていなくてすみません。
4
4
 
5
5
  GASとVueで、メール受信時に内容をスプレッドシートに転記し、
6
6
 
@@ -10,6 +10,10 @@
10
10
 
11
11
  ※追記
12
12
 
13
+ taretailやいろんなサイトでメール、スプレッドシートの動かし方を知って、それをコピペ、編集したものになります。
14
+
15
+
16
+
13
17
  エラーが起きると特定のエラーメールを受信するようにしているため、(別の機器)
14
18
 
15
19
  それに合わせてメールの内容をスプレッドシート経由でHTMLブラウザに表示するようにしたいと思い作成を始めました。
@@ -28,6 +32,8 @@
28
32
 
29
33
 
30
34
 
35
+
36
+
31
37
  ### 発生している問題・エラーメッセージ
32
38
 
33
39
 
@@ -214,7 +220,7 @@
214
220
 
215
221
  t.new_Me[i] = maildata;
216
222
 
217
- sampleArea.innerHTML = maildata;
223
+
218
224
 
219
225
  }
220
226
 
@@ -338,7 +344,7 @@
338
344
 
339
345
  変数をこの形では入れ込めないのか、のどちらかだとは思うのですが、確認する方法と解決手段がわかりません。
340
346
 
341
-
347
+ ※messageにhogehogeとか入力した場合はhogehogeで出力された、くらいです
342
348
 
343
349
  ### 補足情報(FW/ツールのバージョンなど)
344
350
 

2

説明の追記をしました。

2021/11/17 23:06

投稿

zamzam24
zamzam24

スコア9

test CHANGED
File without changes
test CHANGED
@@ -14,9 +14,11 @@
14
14
 
15
15
  それに合わせてメールの内容をスプレッドシート経由でHTMLブラウザに表示するようにしたいと思い作成を始めました。
16
16
 
17
+ メール内容をコピペしてシート2のA1に転載し、A1のデータをmaildataと共通させることでアラートとして出したいと考えています。
18
+
17
19
  (アラートとして追記が一番やりやすそうだったのでそうしました)
18
20
 
19
- メールをfunction:mainのトリガーを毎分起動して確認し、シート2のA1に転載しています。
21
+ メールをfunction:mainのトリガーを毎分起動して確認し、1分以内のエラーメールをシート2のA1に転載しています。(ここまでは大丈夫)
20
22
 
21
23
  ついでにmaildataというグローバル関数に入れ込むことで、HTMLから参照できるかと思いましたがうまくいっていないです。
22
24
 

1

コードを追記しました。

2021/11/17 00:25

投稿

zamzam24
zamzam24

スコア9

test CHANGED
File without changes
test CHANGED
@@ -8,6 +8,22 @@
8
8
 
9
9
  作成しようとしています。
10
10
 
11
+ ※追記
12
+
13
+ エラーが起きると特定のエラーメールを受信するようにしているため、(別の機器)
14
+
15
+ それに合わせてメールの内容をスプレッドシート経由でHTMLブラウザに表示するようにしたいと思い作成を始めました。
16
+
17
+ (アラートとして追記が一番やりやすそうだったのでそうしました)
18
+
19
+ メールをfunction:mainのトリガーを毎分起動して確認し、シート2のA1に転載しています。
20
+
21
+ ついでにmaildataというグローバル関数に入れ込むことで、HTMLから参照できるかと思いましたがうまくいっていないです。
22
+
23
+ (A1への転載はうまくいっていますが、maildataがHTMLに送られていない?)
24
+
25
+ ※追記終了
26
+
11
27
 
12
28
 
13
29
  ### 発生している問題・エラーメッセージ
@@ -28,19 +44,163 @@
28
44
 
29
45
  ### 該当のソースコード
30
46
 
47
+ ※appscript.json
48
+
49
+ ```json
50
+
51
+
52
+
53
+ {
54
+
55
+ "timeZone": "Asia/Tokyo",
56
+
57
+ "dependencies": {
58
+
59
+ "enabledAdvancedServices": [
60
+
61
+ {
62
+
63
+ "userSymbol": "Gmail",
64
+
65
+ "version": "v1",
66
+
67
+ "serviceId": "gmail"
68
+
69
+ },
70
+
71
+ {
72
+
73
+ "userSymbol": "Drive",
74
+
75
+ "version": "v2",
76
+
77
+ "serviceId": "drive"
78
+
79
+ }
80
+
81
+ ]
82
+
83
+ },
84
+
85
+ "webapp": {
86
+
87
+ "executeAs": "USER_DEPLOYING",
88
+
89
+ "access": "MYSELF"
90
+
91
+ },
92
+
93
+ "oauthScopes": [
94
+
95
+ "https://www.googleapis.com/auth/spreadsheets.currentonly",
96
+
97
+ "https://www.googleapis.com/auth/spreadsheets",
98
+
99
+ "https://www.googleapis.com/auth/script.external_request",
100
+
101
+ "https://www.googleapis.com/auth/gmail.readonly",
102
+
103
+ "https://www.googleapis.com/auth/gmail.modify",
104
+
105
+ "https://mail.google.com/"
106
+
107
+ ],
108
+
109
+ "exceptionLogging": "STACKDRIVER",
110
+
111
+ "runtimeVersion": "V8"
112
+
113
+ }
114
+
115
+
116
+
117
+ ```
118
+
31
119
 
32
120
 
33
121
  ```gs
34
122
 
35
123
 
36
124
 
125
+ function doGet(e){
126
+
127
+ var html = HtmlService.createTemplateFromFile("index").evaluate();
128
+
129
+ var content = html.getContent();
130
+
131
+ return HtmlService.createTemplate(content).evaluate();
132
+
133
+ }
134
+
135
+
136
+
137
+ function getData(ssId,sheetName) {
138
+
139
+ // スプレッドシートの取得
140
+
141
+ var ss = SpreadsheetApp.openById(ssId);
142
+
143
+ // データの取得
144
+
145
+ var values = ss.getSheetByName(sheetName).getDataRange().getValues();
146
+
147
+ return values;
148
+
149
+ }
150
+
151
+
152
+
153
+ function fetchContactMail() {
154
+
155
+ //取得間隔
156
+
157
+ var now_time= Math.floor(new Date().getTime() / 1000) ;//現在時刻を変換
158
+
159
+ var time_term = now_time - (60 + 3); //63秒にして取得できない事態がないように
160
+
161
+
162
+
163
+ //検索条件指定
164
+
165
+ var strTerms = '(subject:{' + error + '} is:unread after:'+ time_term + ')';
166
+
167
+
168
+
169
+ //取得
170
+
171
+ var myThreads = GmailApp.search(strTerms);
172
+
173
+ var myMsgs = GmailApp.getMessagesForThreads(myThreads);
174
+
175
+ var valMsgs = [];
176
+
177
+ for(var i = 0; i < myMsgs.length;i++){
178
+
179
+ valMsgs[i] = " " + myMsgs[i].slice(-1)[0].getDate().getMonth() + "/"+ myMsgs[i].slice(-1)[0].getDate().getDate()
180
+
181
+ + " " + myMsgs[i].slice(-1)[0].getDate().getHours() + ":" + myMsgs[i].slice(-1)[0].getDate().getMinutes()
182
+
183
+ + "\n[from]" + myMsgs[i].slice(-1)[0].getFrom()
184
+
185
+ + "\n" + myMsgs[i].slice(-1)[0].getSubject()
186
+
187
+ valMsgs[i] = valMsgs[i] + "\n\n[Message]\n"+ myMsgs[i].slice(-1)[0].getPlainBody();
188
+
189
+
190
+
191
+ }
192
+
193
+ return valMsgs;
194
+
195
+ }
196
+
197
+
198
+
37
199
  function main() {
38
200
 
39
- var sheet = SpreadsheetApp.openById("スプレッドシートID").getSheetByName("シート2");
201
+ var sheet = SpreadsheetApp.openById("スプレッドシートID").getSheetByName("シート2");
40
-
202
+
41
- var t=HtmlService.createTemplateFromFile("index");//検索したメールをスプレッドシートシート2に転載し、共通変数maildataに入れ込む。この処理が間違っている気がします
203
+ var t=HtmlService.createTemplateFromFile("index");//上で検索したメールをシート2に転載し、共通変数maildataに入れ込む。この処理が間違っている気がします
42
-
43
- //fetchContactMailは検索したメールの中身です
44
204
 
45
205
  new_Me = fetchContactMail()
46
206
 
@@ -52,6 +212,8 @@
52
212
 
53
213
  t.new_Me[i] = maildata;
54
214
 
215
+ sampleArea.innerHTML = maildata;
216
+
55
217
  }
56
218
 
57
219
  }
@@ -68,8 +230,6 @@
68
230
 
69
231
 
70
232
 
71
-
72
-
73
233
  ```
74
234
 
75
235
 
@@ -126,6 +286,8 @@
126
286
 
127
287
  ```
128
288
 
289
+
290
+
129
291
  ```js
130
292
 
131
293
 
@@ -170,7 +332,9 @@
170
332
 
171
333
 
172
334
 
173
-
335
+ 変数ではない数値の入出力はできたため、maildataという変数の入出力がうまくいってないのか、
336
+
337
+ 変数をこの形では入れ込めないのか、のどちらかだとは思うのですが、確認する方法と解決手段がわかりません。
174
338
 
175
339
 
176
340