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

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

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

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

Google Apps Script

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

解決済

GASでLINE BOT

s.20
s.20

総合スコア6

LINE Messaging API

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

Google Apps Script

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

1回答

1グッド

0クリップ

326閲覧

投稿2022/11/23 02:29

編集2022/11/23 04:04

前提

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👍を押しています

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

2022/11/23 10:42

こちらの質問が複数のユーザーから「やってほしいことだけを記載した丸投げの質問」という指摘を受けました。

2022/11/23 08:53

こちらの質問が他のユーザーから「過去に投稿した質問と同じ内容の質問」という指摘を受けました。

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さまのご指示で解決できました ありがとうございます。

回答1

0

自己解決

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

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

投稿2022/11/24 10:00

s.20

総合スコア6

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

同じタグがついた質問を見る

LINE Messaging API

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

Google Apps Script

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