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

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

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

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

Google Apps Script

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

JavaScript

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

解決済

GASを利用しLine Flex Message の送信

yuto0315
yuto0315

総合スコア1

LINE Messaging API

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

Google Apps Script

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

JavaScript

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

1回答

0評価

1クリップ

284閲覧

投稿2022/07/07 14:40


前提

GAS(google appscript)を使用してLINEにFlex Messageを送信したいです。
送信されたメッセージに返信するのではなく、GASのトリガーを利用して、ある時間になったらFlex Messageが送信されるようにしたいです。

実現したいこと

記述されたデータ(JSON)をLINEのサーバーに投げてラインメッセージとして送信されるようにしたい。

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

Exception: Request failed for https://notify-api.line.me returned code 400. Truncated server response: {"status":400,"message":"message: must not be empty"} (use muteHttpExceptions option to examine full response)

該当のソースコード

JavaScript

var channel_access_token = ''; //ここにアクセストークンを書く var message = { "messages" : [ { 'type':'flex', 'altText':'this is a flex message', //↓このcontentsの部分にSimulatorのJSONをコピー 'contents': { } } ] }; //Lineの送信データの作成部分 var options = { "headers" : { "Content-Type" : "application/json", "Authorization" : "Bearer " + channel_access_token }, "method" : "post", "payload" : JSON.stringify(message) }; var response = UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options); Logger.log(response); //レスポンスがほしいときはコメント外す }

試したこと

https://notify-api.line.me からの400番のエラーが返ってきているのでURLが違うか、"messege"の内容がおかしいのではと考えた。

URLについてはhttps://developers.line.biz/ja/docs/messaging-api/sending-messages/ のコード中に記載のあるURLをすべて試した。

また、Flex Message であることが問題なのでは、と考え、以下のコードを実行したところうまく送信された。

JavaScript

var accessToken = ''; //ここにアクセストークンを書く var options = { 'method' : 'post', 'headers': { 'Authorization': 'Bearer ' + accessToken }, 'payload' : { 'message': message } }; var response = UrlFetchApp.fetch('https://notify-api.line.me/api/notify', options); //Logger.log(response);

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

https://note.com/koshikake0124/n/n5bb2107fad0f を参考にしましたがこちらは送信されたメッセージに対して返答するものなので、少し違うのでは?と考えています。
全くのにわかですので、ここに乗っていない大切な情報があるかもしれません。必要な情報は聞いていただけるとありがたいです。タグが不適切な可能性があります。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

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

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

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

yuto0315

2022/07/08 07:34

そのなのでしょうかやはり、、、その判断が初心者、にわかでは難しいため質問させて頂きました。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

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

LINE Messaging API

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

Google Apps Script

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

JavaScript

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