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

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

新規登録して質問してみよう
ただいま回答率
85.48%
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のクラウドのスクリプト言語です。

Q&A

0回答

325閲覧

googleフォームの回答内容がLINEに反映されないエラー

pechan

総合スコア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のクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2022/11/15 01:23

前提

Googleフォームの回答内容がLINEに反映されないエラー

googleフォームで回答した内容をLINEに送信するシステムを作っているのですが、
送信はされるのですが、回答内容が反映されず空白になってしまう問題です。
下記はエラー例です。質問の項目は反映されるのですが、入力内容が確認出来ません。

イメージ説明

実現したいこと

回答内容を反映させたいです。

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

エラーメッセージはなく、実行すると空白で回答が反映されます。

該当のソースコード

Google

1function GoogleFormToLine(){ 2 var sheet = SpreadsheetApp.getActiveSheet(); 3 var row = sheet.getLastRow(); 4 var column = sheet.getLastColumn(); 5 var range = sheet.getDataRange(); 6 var message = ""; 7 8 for(var i=1;i<=column;i++){ 9  var item = range.getCell(1, i).getValue(); 10  var value = range.getCell(row, i).getValue(); 11   if(item == "タイムスタンプ"){ 12   value = Utilities.formatDate(value,"JST","yy/MM/dd(E) HH:mm:ss"); 13  } 14  message += "\n■"+item+"\n"+value; 15 } 16 SendToLine(message); 17} 18 19function SendToLine(message){ 20 var token = PropertiesService.getScriptProperties().getProperty('LINE_TOKEN'); 21 var op = 22 { 23 "method" : "post", 24 "Content-Type" : "application/x-www-form-urlencoded", 25 "payload": "message=" + message, 26 "headers":{"Authorization" : "Bearer " + token} 27 }; 28 var res = UrlFetchApp.fetch("https://notify-api.line.me/api/notify",op); 29 Logger.log(JSON.parse(res.getContentText())); 30}

試したこと

複数サイトを見てますが、入力内容のエラーの項目は見当たらない状況です。

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

googleフォームの顧客のアンケートをLINEに反映させる内容のツールです。
何卒よろしくお願いします。

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

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

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

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

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

bebebe_

2022/11/15 01:58

valueが最終行の値を取得していますがそこは問題ないですか? var range = sheet.getDataRange();の下に const values = sheet.getDataRange().getValues(); console.log(values); でも入れて取得している範囲を確認してみてはどうでしょう
pechan

2022/11/18 08:05

ありがとうございます。実行してみたんですが、最終行でなく、途中の行までの取得をして以下のエラーが出ます。 " Exception: The parameters (String,String,String) don't match the method signature for Utilities.formatDate." 該当するformatdateのスプレッドが文字列がどうかを確認しましたが、全てFALSEとでる状況です。
bebebe_

2022/11/21 06:37 編集

そのエラーであれば恐らくタイムスタンプがある列の最終行の値がDATE型になっていないのではないでしょうか 問題点はラインに送信する部分ではなさそうなのでSendToLine(message);をconsole.log(row);にしてログに表示される数字とシートの最終行は一致していますか?一致している場合はタイムスタンプのある列(1列目?)の最終行のセルの表示形式を日時にしてみたらどうなるでしょうか 追記 フォームの回答結果を反映シートは設定していますか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問