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

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

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

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

Google フォーム

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

Google Apps Script

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

Q&A

解決済

1回答

1471閲覧

googleフォームのLINEへの通知で、未回答は除きたい

WILDLIFE

総合スコア10

LINE Messaging API

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

Google フォーム

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

Google Apps Script

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

0グッド

0クリップ

投稿2022/03/16 07:35

実現したいこと
googleフォームの回答をLINEへ通知させたいのですが、
その時に未回答の質問は通知へ含めないようにしたいです。
いろいろ調べて、通知まではできたのですが、お力をお借りしたいです。
どうぞよろしくお願い致します。


現在のコードでは、このようになります。
≪質問内容①≫
答え①

質問内容②
未回答

≪質問内容③≫
答え③

これをこのようにしたいです。
≪質問内容①≫
答え①

≪質問内容③≫
答え③


該当のソースコード

function autoLine(e) {
/* ステップ1: フォームのデータを取得する */
//すべての質問と回答を取得する
let itemResponses = e.response.getItemResponses();

/* ステップ2: 必要なデータを抽出する */
//個々の質問と回答を格納するための空配列を宣言する
let questionAndAnswers = [];

//for文(ループ)で変数itemResponsesから個々の質問と回答を取得する
for(let i = 0; i < itemResponses.length; i++) {
//質問のタイトルを取得する
let questionTitle = itemResponses[i].getItem().getTitle();

//回答を取得する let answer = itemResponses[i].getResponse(); //未回答の質問かどうかで送信文章を調整する if(!answer) { questionAndAnswers.push(questionTitle + ": 未回答"); } else { questionAndAnswers.push("≪" + questionTitle + "≫\n" + answer + "\n"); }

}

/* ステップ3: 宛先、本文を決める */
//LINEの宛先
//★★★LINE Notifyのトークンを入力してください★★★
let token = ["ayshbZgHhBNEB71aoaoO8ZJU1avZ4t5X5Tz5BsCOHKv"];
//LINEの本文
//★★★お好きな本文に変更ください★★★
let body = "\nご注文フォームの回答を受信しました。\n"
+ "\n"
//一次元配列questionAndAnswersに対してjoinメソッドを使って文字列を作成する
//区切り文字は改行"\n"
+ questionAndAnswers.join("\n");

/* ステップ4: 管理者にLINEを送信する */
//管理者にLINEを送信する
sendLine(token, body);
}

function sendLine(token, body) {
let options =
{
"method" : "post",
"payload" : {"message": body,
},
"headers" : {"Authorization" : "Bearer "+ token}
};

UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
}

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

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

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

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

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

YAmaGNZ

2022/03/16 07:38

未回答のときに「未回答」と追加するのではなく何もしなければいいのでは?
WILDLIFE

2022/03/16 09:35

ありがとうございます。 通知に載らないようにできました。 これから調整していきたいと思います。 ありがとうございました。
YAmaGNZ

2022/03/16 10:11

解決したのであれば解決方法を書いて自己解決としてください。
guest

回答1

0

自己解決

//未回答の質問かどうかで送信文章を調整する
if(!answer) {
questionAndAnswers.push(questionTitle + ": 未回答");
} else {

こちらの部分を削除して、未回答の質問が表示されないことを確認しました。

questionAndAnswers.push();

ありがとうございました。

投稿2022/03/16 10:18

WILDLIFE

総合スコア10

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問