WindowsからLine NotifyにcURLで送信した際にCouldn't resolve host ~というエラーが出てしまう

Line Notifyに通知を送るのに、WindowsからcURLを使ったところ、タイトルのように

curl: (6) Couldn't resolve host 'Bearer'
curl: (6) Couldn't resolve host 'Pydu1 ~中略~ ZgB''
{"status":401,"message":"Missing authorization header"}

というエラーが出てしまい、Line Notifyにメッセージ通知が行われませんでしたが、解決できましたので記載します。

まず、前提条件としまして、Line Notifyに登録し、cURLからメッセージを送るという流れは、こちらの記事の通りにやりました。

qiita.com

この記事の通りにcURLを使ってコマンドを打つと、上記のエラーになると思います。

解決先は、

'Authorization: Bearer ACCESS_TOKEN'

の部分を

"Authorization: Bearer ACCESS_TOKEN"


と、シングルクォーテーションをダブルクォーテーションに変えることでした。


正しく動作するcURLコマンドをきちんと書くとこうなります。

curl -X POST -H "Authorization: Bearer ACCESS_TOKEN" -F "message=ABC" https://notify-api.line.me/api/notify

ACCESS_TOKENの部分には、Line Notifyから取得したアクセストークンが入ります。

どうも、cURLを投げるOSによって、シングルクォーテーションで囲ったり、ダブルクォーテーションで囲ったりする必要があるようです。

Windowsの場合は、ダブルクォーテーションしか受け付けないようです。

このあたりの差異は、OSによって改行コードが違ったり、パスの区切り文字が違っているなどと同じような問題なのかもしれません。

また、このエラーの解決にはこちらの記事が参考になりました。

kotovuki.co.jp

Line Notifyの使い方の記事はたくさんありますが、群を抜いて詳しく書かれていると思います。

ここまで書いてくれないと、素人には難しいですね。。。