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

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

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

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

Google Apps Script

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

Q&A

解決済

1回答

585閲覧

line messaging apiでプッシュメッセージが送信できないです

garbin

総合スコア3

LINE Messaging API

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

Google Apps Script

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

0グッド

1クリップ

投稿2022/03/30 13:41

line messaging apiでGASを使ってプッシュメッセージを送ろうと考えています。
エラーメッセージは出ずに、実行完了となるのですが、lineにメッセージが送信されません。
コードは以下の通りです。

const ACCESS_TOKEN='###'; const USER_ID='###'; var url='###'; var headers={ 'Content-Type':'application/json; charset=UTF-8', 'Authorization':'Bearer '+ACCESS_TOKEN, }; var message='テスト'; var data={ 'to':USER_ID, 'messages':[ { "type": "text", "text": message } ] }; var options={ 'method':'post', 'headers':headers, 'payload':JSON.stringify(data), 'muteHttpExceptions': true, } UrlFetchApp.fetch(url,options);

送信ができていないのでアクセス上の問題かと思うのですが、解決策がわからず、教えていただきたいです。

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

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

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

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

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

YAmaGNZ

2022/03/30 13:48

UrlFetchApp.fetchのリターン値のHTTP Responseを見てみてはどうでしょうか?
退会済みユーザー

退会済みユーザー

2022/03/30 13:51

どこかのサイトの記述を参考にしたのでしょうか。であればそのサイトはどこでしょうか。 そのサイトの記述にしたがって、APIやアクセストークン等の設定は適切に完了していますか?
garbin

2022/03/30 14:02

@ YAmaGNZ HTTPResponseを見るというのは、コードを見るということでしょうか。(基礎がわからずすみません)HTTPリスポンスコードは400でした。 @ qnoir サイトではなくudemyの講座を参考にしました。ただ、講座が少し古いため、アップデートされており、若干今と異なるところがあったのでうまくいきませんでした。apiやアクセストークンは何度も確認して合っていると思います。
penguin520

2022/03/30 14:12

この回答、いそぎますか?
garbin

2022/03/30 14:16

いえ、練習しているだけなので特に急いではいません。 本日中でなくても問題ないです。
guest

回答1

0

ベストアンサー

dataのtoに指定するのはユーザーIDではなくユーザーIDの配列かと思います。
送信先が1つであっても配列として渡してください。
その部分を修正するとメッセージが送信できることは確認しました。

今回の場合

GAS

1 let res = UrlFetchApp.fetch(url,options); 2 Logger.log(res.getResponseCode() + ' ' + res);

としたら
400 {"message":"The property, 'to', in the request body is invalid (line: 1, column: 7)"}
と帰ってきていました。
なので、toの部分がおかしいと判断することができました。
こういったようにUrlFetchApp.fetchのリターン値はデバッグする際に重要な情報となったりしますので確認するようにしてください。

投稿2022/03/30 22:00

YAmaGNZ

総合スコア10242

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

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

garbin

2022/03/31 12:12

解決できました!ありがとうございます! また、エラー解決方法についてもご教示いただき助かりました! 今後ともよろしくお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問