🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
JavaScript

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

Q&A

解決済

1回答

1548閲覧

googleフォームからgasで自動送信ができない

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

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

0グッド

0クリップ

投稿2021/03/29 12:22

TypeError: Cannot read property 'response' of undefined
autoLine @ 自動LINE通知.gs:4

GoogleフォームからLINEに自動送信されるようにしたいのですが、
上記のようなエラーが出てしまいます。

下記のコードの4行目の
let itemResponses = e.response.getItemResponses();
に問題があるようなのですが、わかりません。
分かる方、いらっしゃいませんか?

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 = "1XcbCClB8OUIh4UvgQRXm491MzQNAJSWEOMPVwFjNPG";

//LINEの本文
//★★★お好きな本文に変更ください★★★
let body = "\nCONTACTフォームの回答を受信しました。\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ページで確認できます。

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

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

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

xail2222

2021/03/29 13:23

autoLineをフォーム送信時にセットしているのだと思いますが 提示のエラーは、フォーム送信時のエラーログではなく エディタで実行した際のログではないでしょうか。 フォーム送信時であれば提示のエラーは出ないと思います。
退会済みユーザー

退会済みユーザー

2021/03/29 13:40

タグを一部打ち間違えておりました。 解決しました。 ありがとうございました。
xail2222

2021/04/03 23:36

しばらく待っていたのですが解決になっていないのでコメントさせていただきます。 自己解決した場合、解決方法を回答に記載してクローズをして下さい。
guest

回答1

0

ベストアンサー

打ち込んだタグに不備がありました。
解決しました。

投稿2021/04/06 02:06

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問