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

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

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

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

Google Apps Script

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

Q&A

解決済

1回答

781閲覧

GASでLINE BOT

s.20

総合スコア10

LINE Messaging API

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

Google Apps Script

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

1グッド

0クリップ

投稿2022/11/23 02:29

編集2022/11/24 19:00

前提

GASでLINE公式に特定のワードを受信したらflexメッセージで返したい

実現したいこと

  • GASを使用してflexで返信したい

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

失敗しました(詳しいのは見れませんでした。)

該当のソースコード

gas

1 2// LINEチャネルのアクセストークン 3const LINE_TOKEN = 'アクセストークン'; // ここに「チャネルアクセストークン」を貼りつけます 4const LINE_URL = 'https://api.line.me/v2/bot/message/reply'; 5 6//postリクエストを受取ったときに発火する関数 7function doPost(e) { 8 9//ここで天気や運行状況を取得 10 11//メッセージ送信↓↓↓↓↓ 12 const event = JSON.parse(e.postData.contents).events[0]; 13 // LINE返信用のトークン 14 const replyToken = event.replyToken; 15 // ユーザーのメッセージを取得 16 const userMessage = event.message.text; 17 18 // 応答メッセージの内容 19 let messages = []; 20 if (userMessage === "天気") { 21 //問診テンプレート 22 messages = [ 23 { 24 type: 'flex', 25 altText:"天気予報", 26 contents:{flexメッセージの内容} 27 } 28 ]; 29 } else if (userMessage === "運行情報") { 30 messages = [ 31 { 32 type: 'flex', 33 altText:"運行情報", 34 contents: {flexメッセージの内容} 35}, 36 }, 37 ]; 38 } else { 39 40 } 41 //lineで返答する 42 UrlFetchApp.fetch(LINE_URL, { 43 'headers': { 44 'Content-Type': 'application/json; charset=UTF-8', 45 'Authorization': `Bearer ${LINE_TOKEN}`, 46 }, 47 'method': 'post', 48 'payload': JSON.stringify({ 49 'replyToken': replyToken, 50 'messages': messages, 51 }), 52 }); 53 ContentService.createTextOutput(JSON.stringify({ 'content': 'post ok' })).setMimeType(ContentService.MimeType.JSON); 54}

試したこと

何を試したらいいのかわからなかったです。

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

参考サイト:せこしょーさん

s.20👍を押しています

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

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

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

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

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

s.20

2022/11/23 02:33

ちなみに参考ブログのコードをコピペしても失敗しました。
fiveHundred

2022/11/23 03:49

至急と付けるのは自己中心的とみなされて逆効果です。 本当に至急であれば、しかるべき場所で依頼してください。
s.20

2022/11/23 04:04

ご教授ありがとう御座います。 ご指摘いただいたところを修正しました。
CHERRY

2022/11/23 04:47

> 失敗しました(詳しいのは見れませんでした。) だけでは 状況がわかりませんので、どのような操作をして どのような状況になったのかを具体的に記載していただけないでしょうか。
s.20

2022/11/23 04:56

ご連絡ありがとうございます。 webhookを利用して実際に受信時に動くので何も出てきません。 こちらから公式LINEに送信しても何も返ってこない状況です、
CHERRY

2022/11/23 05:40 編集

LINEから 送信すると既読がつく状態で返信がないという状況であれば、 ・ 受け取った e の内容と処理が一致していない (たとえば、if 条件で メッセージが空欄になる) ・ UrlFetchApp.fetch を実行した結果がエラーになっている 等が考えられると思います。 e で受け取った内容や UrlFetchApp.fetch 実行後のレスポンスコード、送信している内容 等を ログに出力して確認するとどうなっているでしょうか。
s.20

2022/11/24 10:00

CHERRYさまのご指示で解決できました ありがとうございます。
guest

回答1

0

自己解決

functionの文字の修正で治りました。

ここでは半角ですが実際のコードはなぜか全角になっていました。

投稿2022/11/24 10:00

s.20

総合スコア10

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.53%

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

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

質問する

関連した質問