質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
LINE Messaging API

LINE Messaging APIは、メッセージの送信・返信ができるAPIです。Web APIを経由しアプリケーションサーバとLINEのAPIでやり取りが可能。複数のメッセージタイプや分かりやすいAPIリファレンスを持ち、グループチャットにも対応しています。

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

1537閲覧

GASを用いたLINE Notify通知について

Rev3pro_CEO

総合スコア1

LINE Messaging API

LINE Messaging APIは、メッセージの送信・返信ができるAPIです。Web APIを経由しアプリケーションサーバとLINEのAPIでやり取りが可能。複数のメッセージタイプや分かりやすいAPIリファレンスを持ち、グループチャットにも対応しています。

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/01/31 16:18

前提・実現したいこと

勤怠管理をGoogleフォーム送信にて反映されるスプレッドシートをLINE Notifyで通知するシステム作っています。
ifにて送信する内容を分岐しようとしたらエラーが発生しました。

発生している問題・エラーメッセージ

SyntaxError: Invalid or unexpected token(行 61、ファイル「コード.gs」)

該当のソースコード

function checkUpdate(){ var mySheet = SpreadsheetApp.getActiveSheet(); //シートを取得 var myCell = mySheet.getActiveCell(); //アクティブセルを取得 var row = myCell.getRow(); var date = mySheet.getRange(row, 2).getValue(); var date = Utilities.formatDate(date,"JST","M/dd(E)"); var q2 = mySheet.getRange(row, 3).getValue(); var q3 = mySheet.getRange(row, 4).getValue(); var text = mySheet.getRange(row, 5).getValue(); var date2 = mySheet.getRange(row, 6).getValue(); var date2 = Utilities.formatDate(date2,"JST","HH:mm"); var date3 = mySheet.getRange(row, 7).getValue(); var date3 = Utilities.formatDate(date3,"JST","HH:mm"); var date4 = mySheet.getRange(row, 8).getValue(); var date4 = Utilities.formatDate(date4,"JST","HH:mm"); var date5 = mySheet.getRange(row, 9).getValue(); var date5 = Utilities.formatDate(date5,"JST","HH:mm"); var q5 = mySheet.getRange(row, 10).getValue(); var q6 = mySheet.getRange(row, 16).getValue(); var q7 = mySheet.getRange(row, 17).getValue(); var q8 = mySheet.getRange(row, 18).getValue(); var q9 = mySheet.getRange(row, 19).getValue(); var q10 = mySheet.getRange(row, 20).getValue(); var q11 = mySheet.getRange(row, 21).getValue(); var q12 = mySheet.getRange(row, 22).getValue(); var q13 = mySheet.getRange(row, 23).getValue(); var q14 = mySheet.getRange(row, 24).getValue(); var message = "\n" + "■日付" + "\n" + date + "\n" + "■氏名" + "\n" + q2 + "\n" + "■稼働先" + "\n" + q3 + "\n" + "■" + text + "\n" + "起床時刻:" + date2 + "\n" + "出発時刻:" + date3 + "\n" + "到着時刻:" +date4 + "\n" + "始業時刻:" +date5 + "\n" + "■検温写真" + "\n" + q5; var message1 = "\n" + "■日付" + "\n" +date + "\n" +"■氏名" + "\n" + q2 + "\n" +"■稼働先" + "\n" + q3 + "\n" + "■" + text + "\n" + "純新規/MNP成約数:" + q6 + "\n" + "機変成約数:" + q7 +  "\n" + "BB成約数:" + q8 + "\n" + "キャッチ数:" + q9 + "\n" + "着座数:" + q10 + "\n" + "スイング数:" + q11 + "\n" + "■ハイライト(好事例)" + "\n" + q12 + "\n" + "■ローライト(改善点)" + "\n" + q13 + "\n" + "■稼働写真" + "\n" + q14; if(text == '稼働報告'){ sendLine(message1) }else{ sendLine(message) } function sendLine(msg){ var token = "DF5AN0ZWYM2rBa2Jv9uoDnpLcMBNVbc8swO15ckwP7R"; var options = { "method": "post", "Content-Type" : "application/x-www-form-urlencoded", "payload": "message=" + msg, "headers":{"Authorization" : "Bearer " + token} }; UrlFetchApp.fetch("https://notify-api.line.me/api/notify",options); }

試したこと

補足情報(FW/ツールのバージョンなど)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuuyu

2021/01/31 16:35

コード.gsの61行目に該当する箇所はどこでしょうか?
guest

回答2

0

ベストアンサー

  • '稼働報告'の後ろのカッコが全角になっています
  • checkUpdateメソッドを閉じるカッコがありません

GASのエディタで見れば赤線で直すべき箇所が表示されているのでそこを直しましょう。

gas

1function checkUpdate(){ 2 var mySheet = SpreadsheetApp.getActiveSheet(); //シートを取得 3 var myCell = mySheet.getActiveCell(); //アクティブセルを取得 4 var row = myCell.getRow(); 5 var date = mySheet.getRange(row, 2).getValue(); 6 var date = Utilities.formatDate(date,"JST","M/dd(E)"); 7 var q2 = mySheet.getRange(row, 3).getValue(); 8 var q3 = mySheet.getRange(row, 4).getValue(); 9 var text = mySheet.getRange(row, 5).getValue(); 10 var date2 = mySheet.getRange(row, 6).getValue(); 11 var date2 = Utilities.formatDate(date2,"JST","HH:mm"); 12 var date3 = mySheet.getRange(row, 7).getValue(); 13 var date3 = Utilities.formatDate(date3,"JST","HH:mm"); 14 var date4 = mySheet.getRange(row, 8).getValue(); 15 var date4 = Utilities.formatDate(date4,"JST","HH:mm"); 16 var date5 = mySheet.getRange(row, 9).getValue(); 17 var date5 = Utilities.formatDate(date5,"JST","HH:mm"); 18 var q5 = mySheet.getRange(row, 10).getValue(); 19 var q6 = mySheet.getRange(row, 16).getValue(); 20 var q7 = mySheet.getRange(row, 17).getValue(); 21 var q8 = mySheet.getRange(row, 18).getValue(); 22 var q9 = mySheet.getRange(row, 19).getValue(); 23 var q10 = mySheet.getRange(row, 20).getValue(); 24 var q11 = mySheet.getRange(row, 21).getValue(); 25 var q12 = mySheet.getRange(row, 22).getValue(); 26 var q13 = mySheet.getRange(row, 23).getValue(); 27 var q14 = mySheet.getRange(row, 24).getValue(); 28 var message = 29 "\n" + "■日付" + 30 "\n" + date + 31 "\n" + "■氏名" + 32 "\n" + q2 + 33 "\n" + "■稼働先" + 34 "\n" + q3 + 35 "\n" + "■" + text + 36 "\n" + "起床時刻:" + date2 + 37 "\n" + "出発時刻:" + date3 + 38 "\n" + "到着時刻:" +date4 + 39 "\n" + "始業時刻:" +date5 + 40 "\n" + "■検温写真" + 41 "\n" + q5; 42 43 var message1 = 44 "\n" + "■日付" + 45 "\n" +date + 46 "\n" +"■氏名" + 47 "\n" + q2 + 48 "\n" +"■稼働先" + 49 "\n" + q3 + 50 "\n" + "■" + text + 51 "\n" + "純新規/MNP成約数:" + q6 + 52 "\n" + "機変成約数:" + q7 +  53 "\n" + "BB成約数:" + q8 + 54 "\n" + "キャッチ数:" + q9 + 55 "\n" + "着座数:" + q10 + 56 "\n" + "スイング数:" + q11 + 57 "\n" + "■ハイライト(好事例)" + "\n" + q12 + 58 "\n" + "■ローライト(改善点)" + "\n" + q13 + 59 "\n" + "■稼働写真" + "\n" + q14; 60 61 if(text == '稼働報告') { 62 sendLine(message1) 63 }else{ 64 sendLine(message) 65 } 66} 67

投稿2021/01/31 16:47

errormaker74

総合スコア230

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Rev3pro_CEO

2021/01/31 17:04

無事解決致しました。 ご教授ありがとうございます。
guest

0

if(text == '稼働報告'){

閉じカッコが全角です

投稿2021/01/31 16:42

yuuyu

総合スコア1139

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問