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

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

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

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

LINE Messaging API

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

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Q&A

解決済

1回答

3130閲覧

curlにてline Messaging APIでのプッシュメッセージ送信

shoshoshosho55

総合スコア0

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

LINE Messaging API

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

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

0グッド

1クリップ

投稿2021/04/23 01:49

前提・実現したいこと

curlにてline Messaging APIでのプッシュメッセージ送信で死ぬほどハマってます。
(最終的にはfirebase functions で node.jsで送信)
LINE Messaging APIでなぜ権限エラーが出るのかが全くわかりません。

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

Access to this API denied due to authorization error

該当のソースコード

sh

1curl --http1.1 -v -X POST https://api.line.me/v2/bot/message/push \ 2-H 'Content-Type:application/json' \ 3-H 'Authorization: Bearer {チャンネルアクセストークン}' \ 4-d '{ 5 "to": "{自分のユーザーID}", 6 "messages":[ 7 { 8 "type":"text", 9 "text":"Hello, world1" 10 } 11 ] 12}'

以下-vの時のログ

Note: Unnecessary use of -X or --request, POST is already inferred. * Trying 203.104.153.64... * TCP_NODELAY set * Connected to api.line.me (203.104.153.64) port 443 (#0) * ALPN, offering http/1.1 * successfully set certificate verify locations: * CAfile: /etc/ssl/cert.pem CApath: none * TLSv1.2 (OUT), TLS handshake, Client hello (1): * TLSv1.2 (IN), TLS handshake, Server hello (2): * TLSv1.2 (IN), TLS handshake, Certificate (11): * TLSv1.2 (IN), TLS handshake, Server key exchange (12): * TLSv1.2 (IN), TLS handshake, Server finished (14): * TLSv1.2 (OUT), TLS handshake, Client key exchange (16): * TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1): * TLSv1.2 (OUT), TLS handshake, Finished (20): * TLSv1.2 (IN), TLS change cipher, Change cipher spec (1): * TLSv1.2 (IN), TLS handshake, Finished (20): * SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 * ALPN, server accepted to use http/1.1 * Server certificate: * subject: C=JP; ST=Tokyo-to; L=Shinjuku-ku; O=LINE Corporation; CN=*.line.me * start date: Jun 17 06:01:58 2020 GMT * expire date: Sep 5 12:00:00 2022 GMT * subjectAltName: host "api.line.me" matched cert's "*.line.me" * issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign RSA OV SSL CA 2018 * SSL certificate verify ok. > POST /v2/bot/message/push HTTP/1.1 > Host: api.line.me > User-Agent: curl/7.64.1 > Accept: */* > Content-Type:application/json > Authorization: Bearer {チャンネルアクセストークン} > > Content-Length: 155 > * upload completely sent off: 155 out of 155 bytes < HTTP/1.1 403 Forbidden < Server: openresty < Date: Fri, 23 Apr 2021 01:45:19 GMT < Content-Type: application/json < Transfer-Encoding: chunked < Connection: keep-alive < x-line-request-id: 8ae06ae5-afbb-4708-8647-bd1ce7fa62cf < x-content-type-options: nosniff < x-xss-protection: 1; mode=block < cache-control: no-cache, no-store, max-age=0, must-revalidate < pragma: no-cache < expires: 0 < x-frame-options: DENY < * Connection #0 to host api.line.me left intact {"message":"Access to this API denied due to authorization error"}* Closing connection 0

試したこと

  • LINEアカウントにwebhookの設定をする(firebase functionsのただレスポンス返すだけのwebhookURL)
  • LINE公式アカウントをQRコードから友だち追加する
  • 自分のIPアドレスをセキュリティ設定に追加
  • プランを確認(フリー)
  • 利用できるAPIを確認(REPLY_MESSAGE, PUSH_MESSAGE)
  • http2だと怒られるので、http1.1を使用

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

全て最新のものを使用しています
どちらかというとLINE Messaging APIでなぜ権限エラーが出るのかが全くわかりません。
お手数をおかけいたしますが、
ご協力のほどお願いいたします。

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

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

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

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

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

AbeTakashi

2021/04/23 02:50

具体的なアドバイスはできないのでこちらに書きますが、私も何度かこの手のようなことに遭遇しました。だいたいは権限の設定を正しくしてなかったとか、トークンが間違ってたからとかでしたね。"Access to this API denied due to authorization error"ですから、これを正しく受け止めるとすれば、その辺をちゃんとチェックするしかないと思います。単純な設定が抜けてたりとか、指定が漏れているとか、実はIPが間違ってるとか・・・、そんな感じだと思います。「合ってるはず」という発想にならず、一つ一つしっかりチェックするといいと思います。
shoshoshosho55

2021/04/23 03:22

丁寧にご回答いただき、ありがとうございます。 最初からの手順でもう一度やってみたところ、 すらっとできてしまいました。 やったことといえば、アカウントの設定を見直して、 メール認証がされてなかったので、認証したくらいで。。。 よくわかりませんが、進めました・・・ ありがとうございます。!
guest

回答1

0

自己解決

アカウントの設定を見直し、
メール認証がされてなかったので、認証したのち
最初からの手順でもう一度やってみたところ、

よくできました・・・

いろいろシステム移行してたり権限系がよくわからないことになってたのではないかと推測します・・・
どなたかの助けになれば。。

投稿2021/04/23 03:25

shoshoshosho55

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問