前提・実現したいこと
GAS(Google Apps Script)を使って、グーグルフォームに入力された内容をスプレッドシートに記録、その内容をLINE Notifyを利用してグループラインに通知。ラインへの通知と同時に、開いているスプレッドシート画面に「新規連絡があります」とポップアップを表示させたい。
※スプレッドシートはスタートアップでPC起動時に立ち上がっています。
トリガーは「フォーム入力時」
発生している問題・エラーメッセージ
GASスクリプト画面の「デバック」や「実行」を行った際には問題なく実行・完了されるのですが、いざグーグルフォームに新規内容を送信されるとLINEへの通知まででスプレッドシートへのポップアップだけが表示されません。
(実行ログでは最後まで「実行完了」となっています)
該当のソースコード
GAS
1ソースコード 2//spreadsheetからデータを取得 3function GoogleFormToLine(){ 4 var sheet = SpreadsheetApp.getActiveSheet(); //sheetの指定 5 var row = sheet.getLastRow(); //行数 6 var column = sheet.getLastColumn(); //列数 7 var range = sheet.getDataRange(); //sheetから範囲指定するための準備 8 var message = ""; 9 10 for(var i=1;i<=column;i++){ 11 var item = range.getCell(1, i).getValue(); //1行目 12 var value = range.getCell(row, i).getValue(); //最終行 13 if(item == "タイムスタンプ"){ 14 value = Utilities.formatDate(value,"JST","yy/MM/dd(E) HH:mm:ss"); 15 } 16 message += "\n■"+item+"\n"+value; 17 } 18 SendToLine(message); 19 20var ui = SpreadsheetApp.getUi(); 21 var title = 'Hello, dialog'; 22 var prompt = 'ダイアログを確認したらボタンを押してください' 23 ui.alert(title, prompt, ui.ButtonSet.YES_NO); 24 25Browser.msgBox("テスト"); 26} 27 28 29//LINEに通知 30function SendToLine(message){ 31 //ファイル→プロジェクトのプロパティ→スプリクトのプロパティからLINE_TOKENを設定しておく 32 var token = PropertiesService.getScriptProperties().getProperty('LINE_TOKEN'); 33 var op = 34 { 35 "method" : "post", 36 "Content-Type" : "application/x-www-form-urlencoded", 37 "payload": "message=" + message, 38 "headers":{"Authorization" : "Bearer " + token} 39 }; 40 var res = UrlFetchApp.fetch("https://notify-api.line.me/api/notify",op); 41 Logger.log(JSON.parse(res.getContentText())); //Response 42 43Browser.msgBox("テスト"); 44 45 //メッセージボックスを出す 46var result = Browser.msgBox("新規連絡があります", Browser.Buttons.OK_CANCEL); 47 if (result == "cancel"){ 48 49 50 } 51} 52
試したこと
GASを学び始めて数週間のため色々な要素を無理やりつなぎ合わせて作っております。ポップアップ部分のコードに問題があるかと思いいくつかの種類のポップアップをコード内に記述してみましたがデバック時は問題ないが、本番では表示されないことに変わりはありませんでした。
最終的に表示させたいポップアップはコード最下部にある「新規連絡があります」のみです。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/14 11:34 編集
2021/09/18 21:06