質問編集履歴
6
試したこと4を追記。
test
CHANGED
File without changes
|
test
CHANGED
@@ -322,6 +322,32 @@
|
|
322
322
|
|
323
323
|
|
324
324
|
|
325
|
+
### 試したこと4:別のスクリプトで試しても実現できない
|
326
|
+
|
327
|
+
|
328
|
+
|
329
|
+
回答者さんに試していただきました。
|
330
|
+
|
331
|
+
> 普通に(onOpenではない)動かす関数をスクリプトエディタで書いた上で、エディタ画面で実行。
|
332
|
+
|
333
|
+
> 同じように、承認を求められ、同じように動作しなかった。
|
334
|
+
|
335
|
+
> 少なくとも数ヶ月前までは、その場で最初の実行が走っていた。どうも承認した瞬間の最初の関数呼び出しの動き自体がかわってる気がする……
|
336
|
+
|
337
|
+
|
338
|
+
|
339
|
+
ちなみにGsuite外の個人用のアカウントでも試していただきましたが、
|
340
|
+
|
341
|
+
違った動きはみられませんでした。
|
342
|
+
|
343
|
+
|
344
|
+
|
345
|
+
### これはもうgoogleの機能の問題なのか?
|
346
|
+
|
347
|
+
|
348
|
+
|
349
|
+
という感じがしていますが…。なぜなのでしょうか…。
|
350
|
+
|
325
351
|
|
326
352
|
|
327
353
|
### 補足情報
|
5
試したこと3を追記しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -298,6 +298,30 @@
|
|
298
298
|
|
299
299
|
|
300
300
|
|
301
|
+
### 試したこと3:onOpenを削除して、トリガーを設定
|
302
|
+
|
303
|
+
|
304
|
+
|
305
|
+
onOpen⇒addMenuを起動するスクリプトをまるっと削除して、
|
306
|
+
|
307
|
+
トリガーを設定しました。
|
308
|
+
|
309
|
+
(実行する関数/makeContactFromList」「イベントソース/スプレッドシート・起動時」で設定)
|
310
|
+
|
311
|
+
|
312
|
+
|
313
|
+
↓
|
314
|
+
|
315
|
+
|
316
|
+
|
317
|
+
結果、「このドキュメントに添付されたスクリプトを実行するには、あなたの許可が必要です。」が表示されなくなり、前に進みませんでした。
|
318
|
+
|
319
|
+
|
320
|
+
|
321
|
+
やはり、onOpenで「実行」をクリックしなければ、「このドキュメントに添付されたスクリプトを実行するには、あなたの許可が必要です。」が表示されないようです。
|
322
|
+
|
323
|
+
|
324
|
+
|
301
325
|
|
302
326
|
|
303
327
|
### 補足情報
|
@@ -306,22 +330,20 @@
|
|
306
330
|
|
307
331
|
- 当方Gsuiteユーザです
|
308
332
|
|
333
|
+
|
334
|
+
|
309
335
|
- 一度実行すればキレイに更新されるので、スクリプトの記述に問題があるわけではなさそうです。
|
310
336
|
|
337
|
+
|
338
|
+
|
311
339
|
- 当初(2018年9月、10月頃)はうまくいっていたのですが、11月頃からできなくなりました。
|
312
340
|
|
341
|
+
|
342
|
+
|
313
343
|
- ~~できなくなったタイミングがGsuiteにSSO(SAML2.0)を導入したあたりと一致しているように思います。~~
|
314
344
|
|
315
345
|
⇒ GsuiteでSSO導入無しのユーザさんに検証いただく。結果、同様の事象が発生したので関係なさそう。
|
316
346
|
|
317
|
-
- トリガー設定はスクリプトの制作段階(2018年8月頃)で一度設定してやってみましたが、
|
318
|
-
|
319
|
-
(確か「実行する関数/makeContactFromList」「イベントソース/スプレッドシート・起動時」で設定)
|
320
|
-
|
321
|
-
トリガーだけだと、「このドキュメントに添付されたスクリプトを実行するには、あなたの許可が必要です。」が表示されず、やむなくonOpenでクリックするひと手間を入れた記憶があります。
|
322
|
-
|
323
|
-
…が、もう一度やってみます。
|
324
|
-
|
325
347
|
|
326
348
|
|
327
349
|
### 実行トランススクリプトの結果
|
4
実行トランススクリプトをcode表示に変更
test
CHANGED
File without changes
|
test
CHANGED
@@ -340,7 +340,7 @@
|
|
340
340
|
|
341
341
|
|
342
342
|
|
343
|
-
|
343
|
+
```ログ
|
344
344
|
|
345
345
|
**(実行前)※作成時に試したログだと思われます**
|
346
346
|
|
@@ -460,6 +460,6 @@
|
|
460
460
|
|
461
461
|
[19-01-16 17:22:45:651 PST] 実行が無事終了しました(合計ランタイム 34.5 秒)
|
462
462
|
|
463
|
-
|
463
|
+
```
|
464
464
|
|
465
465
|
連絡先はきれいに更新されました。
|
3
追加情報を記載(補足事項)
test
CHANGED
File without changes
|
test
CHANGED
@@ -70,9 +70,7 @@
|
|
70
70
|
|
71
71
|
|
72
72
|
|
73
|
-
|
74
|
-
|
75
|
-
###
|
73
|
+
### エラーメッセージ
|
76
74
|
|
77
75
|
|
78
76
|
|
@@ -240,21 +238,89 @@
|
|
240
238
|
|
241
239
|
|
242
240
|
|
243
|
-
|
244
|
-
|
245
|
-
###
|
241
|
+
### 試したこと2:addMenuメソッド⇒addItemメソッドに変更
|
242
|
+
|
243
|
+
|
244
|
+
|
246
|
-
|
245
|
+
(変更前)
|
246
|
+
|
247
|
-
|
247
|
+
```ここに言語名を入力
|
248
|
+
|
248
|
-
|
249
|
+
/** メニューへ登録 */
|
250
|
+
|
251
|
+
function onOpen() {
|
252
|
+
|
253
|
+
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
|
254
|
+
|
255
|
+
var entries = [{
|
256
|
+
|
257
|
+
name : "連絡先を更新",
|
258
|
+
|
259
|
+
functionName : "makeContactFromList"
|
260
|
+
|
261
|
+
}];
|
262
|
+
|
263
|
+
spreadsheet.addMenu("ここをクリックしてください", entries);
|
264
|
+
|
265
|
+
};
|
266
|
+
|
267
|
+
```
|
268
|
+
|
269
|
+
|
270
|
+
|
271
|
+
↓
|
272
|
+
|
273
|
+
|
274
|
+
|
275
|
+
(変更後)
|
276
|
+
|
277
|
+
```ここに言語名を入力
|
278
|
+
|
279
|
+
/** メニューへ登録 */
|
280
|
+
|
281
|
+
function onOpen() {
|
282
|
+
|
283
|
+
var ui = SpreadsheetApp.getUi(); // Uiクラスを取得する
|
284
|
+
|
285
|
+
var menu = ui.createMenu('ここをクリックしてください'); // Uiクラスからメニューを作成する
|
286
|
+
|
287
|
+
menu.addItem('連絡先を更新', 'makeContactFromList'); // メニューにアイテムを追加する
|
288
|
+
|
289
|
+
menu.addToUi(); // メニューをUiクラスに追加する
|
290
|
+
|
291
|
+
};
|
292
|
+
|
293
|
+
```
|
294
|
+
|
295
|
+
|
296
|
+
|
297
|
+
に変更して再度実行しましたが、改善は見られませんでした。
|
298
|
+
|
299
|
+
|
300
|
+
|
301
|
+
|
302
|
+
|
303
|
+
### 補足情報
|
304
|
+
|
305
|
+
|
306
|
+
|
249
|
-
|
307
|
+
- 当方Gsuiteユーザです
|
250
|
-
|
308
|
+
|
251
|
-
|
309
|
+
- 一度実行すればキレイに更新されるので、スクリプトの記述に問題があるわけではなさそうです。
|
252
|
-
|
310
|
+
|
253
|
-
|
311
|
+
- 当初(2018年9月、10月頃)はうまくいっていたのですが、11月頃からできなくなりました。
|
254
|
-
|
312
|
+
|
255
|
-
|
313
|
+
- ~~できなくなったタイミングがGsuiteにSSO(SAML2.0)を導入したあたりと一致しているように思います。~~
|
256
|
-
|
314
|
+
|
257
|
-
|
315
|
+
⇒ GsuiteでSSO導入無しのユーザさんに検証いただく。結果、同様の事象が発生したので関係なさそう。
|
316
|
+
|
317
|
+
- トリガー設定はスクリプトの制作段階(2018年8月頃)で一度設定してやってみましたが、
|
318
|
+
|
319
|
+
(確か「実行する関数/makeContactFromList」「イベントソース/スプレッドシート・起動時」で設定)
|
320
|
+
|
321
|
+
トリガーだけだと、「このドキュメントに添付されたスクリプトを実行するには、あなたの許可が必要です。」が表示されず、やむなくonOpenでクリックするひと手間を入れた記憶があります。
|
322
|
+
|
323
|
+
…が、もう一度やってみます。
|
258
324
|
|
259
325
|
|
260
326
|
|
2
内容をより詳細にした。1つの検証結果を追記した。
test
CHANGED
File without changes
|
test
CHANGED
@@ -50,7 +50,17 @@
|
|
50
50
|
|
51
51
|
|
52
52
|
|
53
|
+
### 問題を端的に言うと(papinianusさんより)
|
54
|
+
|
55
|
+
|
56
|
+
|
53
|
-
|
57
|
+
> 質問はつきつめると、「最初の承認直後には、スクリプトが動作してくれないがそれはなぜか?」
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
まさにこれです。
|
62
|
+
|
63
|
+
|
54
64
|
|
55
65
|
|
56
66
|
|
@@ -208,11 +218,27 @@
|
|
208
218
|
|
209
219
|
|
210
220
|
|
221
|
+
|
222
|
+
|
211
|
-
### 試したこと
|
223
|
+
### 試したこと:SSO(SAML2.0)が関係しているか検証
|
224
|
+
|
225
|
+
|
226
|
+
|
212
|
-
|
227
|
+
~~当方Gsuiteユーザで、出来なくなったタイミングが、GsuiteにSSOを入れたタイミングと一致しているような気がします。~~
|
228
|
+
|
229
|
+
|
230
|
+
|
213
|
-
|
231
|
+
⇒ GsuiteでSSOを入れていないユーザさんに事象再現をしていただきました。
|
232
|
+
|
214
|
-
|
233
|
+
結果、当方と同じく、承認した直後にはスクリプトは走らず、二回目に実行したらグループに入りました。
|
234
|
+
|
235
|
+
|
236
|
+
|
215
|
-
こ
|
237
|
+
ので、SSOの関連は低いことが推察されます。
|
238
|
+
|
239
|
+
|
240
|
+
|
241
|
+
|
216
242
|
|
217
243
|
|
218
244
|
|
@@ -226,7 +252,9 @@
|
|
226
252
|
|
227
253
|
・当初はうまくいっていたのですが、突然できなくなりました。
|
228
254
|
|
229
|
-
・できなくなったタイミングがGsuiteにSSO(SAML2.0)を導入したあたりと一致しているように思います。
|
255
|
+
・~~できなくなったタイミングがGsuiteにSSO(SAML2.0)を導入したあたりと一致しているように思います。~~
|
256
|
+
|
257
|
+
⇒ GsuiteでSSO導入無しのユーザさんに検証いただく。結果、同様の事象が発生したので関係なさそう。
|
230
258
|
|
231
259
|
|
232
260
|
|
1
実行トランススクリプト情報を追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -227,3 +227,145 @@
|
|
227
227
|
・当初はうまくいっていたのですが、突然できなくなりました。
|
228
228
|
|
229
229
|
・できなくなったタイミングがGsuiteにSSO(SAML2.0)を導入したあたりと一致しているように思います。
|
230
|
+
|
231
|
+
|
232
|
+
|
233
|
+
### 実行トランススクリプトの結果
|
234
|
+
|
235
|
+
|
236
|
+
|
237
|
+
ご依頼ありがとうございます。下記にて記載いたしますが要約は
|
238
|
+
|
239
|
+
|
240
|
+
|
241
|
+
・1回目の実行:何も結果表示されない
|
242
|
+
|
243
|
+
・2回目の実行:onOpenをすっとばして、fanction実行されている
|
244
|
+
|
245
|
+
です。
|
246
|
+
|
247
|
+
|
248
|
+
|
249
|
+
|
250
|
+
|
251
|
+
**(実行前)※作成時に試したログだと思われます**
|
252
|
+
|
253
|
+
[19-01-16 17:20:08:132 PST] SpreadsheetApp.getActiveRange() [0 秒]
|
254
|
+
|
255
|
+
[19-01-16 17:20:08:132 PST] Range.getRow() [0 秒]
|
256
|
+
|
257
|
+
[19-01-16 17:20:08:132 PST] Range.getLastRow() [0 秒]
|
258
|
+
|
259
|
+
[19-01-16 17:20:08:132 PST] Range.getColumn() [0 秒]
|
260
|
+
|
261
|
+
[19-01-16 17:20:08:133 PST] Range.getLastColumn() [0 秒]
|
262
|
+
|
263
|
+
[19-01-16 17:20:08:133 PST] SpreadsheetApp.getActiveSpreadsheet() [0 秒]
|
264
|
+
|
265
|
+
[19-01-16 17:20:08:134 PST] 実行を開始しています
|
266
|
+
|
267
|
+
[19-01-16 17:20:08:139 PST] SpreadsheetApp.getActiveSpreadsheet() [0 秒]
|
268
|
+
|
269
|
+
[19-01-16 17:20:08:228 PST] Spreadsheet.addMenu([ここをクリックしてください, [{functionName=makeContactFromList, name=連絡先を更新}]]) [0.087 秒]
|
270
|
+
|
271
|
+
[19-01-16 17:20:08:357 PST] 実行が無事終了しました(合計ランタイム 0.089 秒)
|
272
|
+
|
273
|
+
|
274
|
+
|
275
|
+
**(一回目の実行後)※変化ありませんでした**
|
276
|
+
|
277
|
+
[19-01-16 17:20:08:132 PST] SpreadsheetApp.getActiveRange() [0 秒]
|
278
|
+
|
279
|
+
[19-01-16 17:20:08:132 PST] Range.getRow() [0 秒]
|
280
|
+
|
281
|
+
[19-01-16 17:20:08:132 PST] Range.getLastRow() [0 秒]
|
282
|
+
|
283
|
+
[19-01-16 17:20:08:132 PST] Range.getColumn() [0 秒]
|
284
|
+
|
285
|
+
[19-01-16 17:20:08:133 PST] Range.getLastColumn() [0 秒]
|
286
|
+
|
287
|
+
[19-01-16 17:20:08:133 PST] SpreadsheetApp.getActiveSpreadsheet() [0 秒]
|
288
|
+
|
289
|
+
[19-01-16 17:20:08:134 PST] 実行を開始しています
|
290
|
+
|
291
|
+
[19-01-16 17:20:08:139 PST] SpreadsheetApp.getActiveSpreadsheet() [0 秒]
|
292
|
+
|
293
|
+
[19-01-16 17:20:08:228 PST] Spreadsheet.addMenu([ここをクリックしてください, [{functionName=makeContactFromList, name=連絡先を更新}]]) [0.087 秒]
|
294
|
+
|
295
|
+
[19-01-16 17:20:08:357 PST] 実行が無事終了しました(合計ランタイム 0.089 秒)
|
296
|
+
|
297
|
+
|
298
|
+
|
299
|
+
**(2回目の実行後)※functionのみ実行されます**
|
300
|
+
|
301
|
+
[19-01-16 17:22:11:077 PST] 実行を開始しています
|
302
|
+
|
303
|
+
[19-01-16 17:22:11:086 PST] SpreadsheetApp.getActiveSpreadsheet() [0 秒]
|
304
|
+
|
305
|
+
[19-01-16 17:22:11:163 PST] Spreadsheet.toast([処理中, , -1.0]) [0.076 秒]
|
306
|
+
|
307
|
+
[19-01-16 17:22:11:535 PST] ContactsApp.getContact([//@email.com]) [0.37 秒]
|
308
|
+
|
309
|
+
[19-01-16 17:22:14:403 PST] ContactsApp.getContact([//@email.com]) [2.867 秒]
|
310
|
+
|
311
|
+
[19-01-16 17:22:17:038 PST] ContactsApp.getContact([//@email.com]) [2.635 秒]
|
312
|
+
|
313
|
+
[19-01-16 17:22:19:945 PST] ContactsApp.getContact([//@email.com]) [2.906 秒]
|
314
|
+
|
315
|
+
[19-01-16 17:22:22:782 PST] ContactsApp.getContact([//@email.com]) [2.836 秒]
|
316
|
+
|
317
|
+
[19-01-16 17:22:25:156 PST] ContactsApp.getContact([//@email.com]) [2.373 秒]
|
318
|
+
|
319
|
+
[19-01-16 17:22:28:088 PST] ContactsApp.getContact([//@email.com]) [2.931 秒]
|
320
|
+
|
321
|
+
[19-01-16 17:22:30:968 PST] ContactsApp.getContact([//@email.com]) [2.88 秒]
|
322
|
+
|
323
|
+
[19-01-16 17:22:33:801 PST] ContactsApp.getContact([//@email.com]) [2.83 秒]
|
324
|
+
|
325
|
+
[19-01-16 17:22:36:555 PST] ContactsApp.getContact([//@email.com]) [2.753 秒]
|
326
|
+
|
327
|
+
[19-01-16 17:22:36:556 PST] SpreadsheetApp.getActiveSheet() [0 秒]
|
328
|
+
|
329
|
+
[19-01-16 17:22:36:866 PST] Sheet.getDataRange() [0.309 秒]
|
330
|
+
|
331
|
+
[19-01-16 17:22:36:866 PST] Range.getNumRows() [0 秒]
|
332
|
+
|
333
|
+
[19-01-16 17:22:36:941 PST] Range.getValues() [0.074 秒]
|
334
|
+
|
335
|
+
[19-01-16 17:22:39:606 PST] ContactsApp.getContact([//@email.com]) [2.664 秒]
|
336
|
+
|
337
|
+
[19-01-16 17:22:39:687 PST] ContactsApp.getContactGroup([●●●]) [0.081 秒]
|
338
|
+
|
339
|
+
[19-01-16 17:22:39:688 PST] Contact.addToGroup([ContactGroup]) [0 秒]
|
340
|
+
|
341
|
+
[19-01-16 17:22:39:688 PST] ContactGroup.addContact([Contact]) [0 秒]
|
342
|
+
|
343
|
+
[19-01-16 17:22:39:689 PST] Logger.log(//@email.comを●●●に追加, []]) [0 秒]
|
344
|
+
|
345
|
+
[19-01-16 17:22:42:534 PST] ContactsApp.getContact([//@email.com]) [2.844 秒]
|
346
|
+
|
347
|
+
[19-01-16 17:22:42:613 PST] ContactsApp.getContactGroup([▼▼▼]) [0.078 秒]
|
348
|
+
|
349
|
+
[19-01-16 17:22:42:613 PST] Contact.addToGroup([ContactGroup]) [0 秒]
|
350
|
+
|
351
|
+
[19-01-16 17:22:42:614 PST] ContactGroup.addContact([Contact]) [0 秒]
|
352
|
+
|
353
|
+
[19-01-16 17:22:42:614 PST] Logger.log([//@email.comを▼▼▼に追加, []]) [0 秒]
|
354
|
+
|
355
|
+
[19-01-16 17:22:45:512 PST] ContactsApp.getContact([//@email.com]) [2.897 秒]
|
356
|
+
|
357
|
+
[19-01-16 17:22:45:512 PST] Contact.addToGroup([ContactGroup]) [0 秒]
|
358
|
+
|
359
|
+
[19-01-16 17:22:45:513 PST] ContactGroup.addContact([Contact]) [0 秒]
|
360
|
+
|
361
|
+
[19-01-16 17:22:45:513 PST] Logger.log([//@email.comを▼▼▼に追加, []]) [0 秒]
|
362
|
+
|
363
|
+
[19-01-16 17:22:45:514 PST] SpreadsheetApp.getActiveSpreadsheet() [0 秒]
|
364
|
+
|
365
|
+
[19-01-16 17:22:45:584 PST] Spreadsheet.toast([画面を閉じてください, 完了, -1.0]) [0.07 秒]
|
366
|
+
|
367
|
+
[19-01-16 17:22:45:651 PST] 実行が無事終了しました(合計ランタイム 34.5 秒)
|
368
|
+
|
369
|
+
|
370
|
+
|
371
|
+
連絡先はきれいに更新されました。
|