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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Google Apps Script

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

Q&A

解決済

2回答

806閲覧

googleフォームの内容をLINE Notifyへ連携したのですが

Tsubanishi

総合スコア43

Google Apps Script

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

0グッド

0クリップ

投稿2020/03/26 03:40

googleフォーム作成後
スクリプトを以下の内容で組みました
LINEのアカウントで自分のアカウントではLINEに通知がうまくできたのですが
他のアカウントを使用するとLINEにUndefindと出てしまいます
実際、googleフォームから送信するとLINEに(Object Object) とでてしまいます
前回と全く同じスクリプトを組んだのですが
どうしてでしょうか?
以下スクリプトです
var lineToken = "〇〇〇〇〇〇";    ←こちらにトークンidいれています

function sendToLine(text){
var token = lineToken;
var options =
{
"method" : "post",
"payload" : "message=" + text,
"headers" : {"Authorization" : "Bearer "+ token}

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

function myFunction(e){
var text = "";
var body = "<!here>\n";
var applicant = "";
var itemResponse = e.response.getItemResponses();

for (var j = 0; j < itemResponse.length; j++){
var formData = itemResponse[j];
var title = formData.getItem().getTitle();
var response = formData.getResponse();

text += title + "\n" + response + "\n\n";

}
sendToLine(text);
}

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

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

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

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

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

guest

回答2

0

javascript

1const lineToken = "xxxxxxxx"; 2 3const sendToLine = (text) => { 4 UrlFetchApp.fetch("https://notify-api.line.me/api/notify", { 5 method: "post", 6 payload: `message=${text}`, 7 headers: { Authorization: `Bearer ${lineToken}` } 8 }); 9}; 10const myFunction = (e) => { 11 const text = e.response 12 .getItemResponses() 13 .map(i => `${i.getItem().getTitle()}\n${parse(i.getResponse())}\n`) 14 .join("\n"); 15 sendToLine(text); 16}; 17const parse = (e) => typeof e === "string" ? e : e.join(",");

他のアカウントを使用するとLINEにUndefindと出てしまいます

どの関数をどのように実行しましたか?

googleフォームから送信するとLINEに(Object Object)

title は string なので、全部がそのようになるとは俄には信じがたいです。が、前記のとおり配列を展開するように変更してみました。

投稿2020/03/26 13:25

papinianus

総合スコア12705

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

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

Tsubanishi

2020/03/26 13:28

ありがとうございます。やってみますね
guest

0

ベストアンサー

おそらくですが、Lineに通知する部分はきちんと動作しています。
が、送るtextのFormから受け取ったgetResponse()の部分に問題があるのではないかと。

formデータは配列で返ってくるので、そのまま流すとそのような表示になってしまうので、textの中に配列が入っているのではないかと

参考:新しいGoogle Formを業務に活用する – その②

参考:Google Apps ScriptでLINEに通知を送る

投稿2020/03/26 06:44

編集2020/03/26 06:59
officeforest

総合スコア412

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

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

Tsubanishi

2020/03/26 13:29

ありがとうございます。やってみます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問