LINE: LINE Notifyを用いてWindowsのcurlコマンドからメッセージを投稿する


###### 実施環境：

Windows 11 Home 21H2
curl 8.0.1 (Windows)

iOS 16.7.2
LINE 13.18.1

### 0. 概要

パソコンやスマホでメッセージのやり取りをしようとするとき、その選択肢は非常に多岐に渡ります。
電子メールを用いる人もいるでしょうし、 SMS という選択肢もあるでしょう。
アプリも非常に様々なものが存在します。

ただ、現在の、特に日本においてメッセージングアプリといえば、おそらく大半の人が LINE を思い浮かべるのではないかと思います。

[LINE](https://line.me/ja/)

さて、その LINE のサービスの1つに、 LINE Notify というサービスがあります。
これは、外部のプログラムと LINE を連携することができるサービスです。
これを用いれば、外部のプログラムから LINE にメッセージを投稿することができます。

[LINE Notify](https://notify-bot.line.me/ja/)

今回はこの LINE Notify を用いて、 Windows の DOS コマンドライン上から LINE にメッセージを投稿してみます。

### 1. 投稿先トークルームの作成

 LINE Notify ではトークンを用いてプログラムと LINE を連携しますが、このトークンはトークルームごとに発行されます。
そのため、今回は事前にスマホの LINE アプリ側で専用のトークルームを作成しておきます。

まずは、スマホの LINE アプリで、「トーク」⇒「トークルームを作成」を選択します。

![WS000783.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/9d4046f4-9aa1-6fdb-3a1c-74f4ec37b7ea.jpeg "トーク")

「グループ」を選択します。

![WS000784.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/137fa920-872b-a354-bb4b-1e47d11c0540.jpeg "トークルームを作成")

「友だちを選択」画面では、誰も選択をせずに「次へ」を押します。

![WS000785.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/d2f615fb-882d-671e-ccbb-8aca96fa4e34.jpeg "友だちを選択")

トークルーム名は何でもよいのですが、今回は「テスト用」にして、「作成」を押します。

![WS000786.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/70f5b86e-7a4d-2074-a819-07eef31bddf3.jpeg "トークルーム設定")

これで、メンバーが自分だけのトークルームが作成されました。
トークルーム名の後ろにつく「(1)」は、メンバーの数です(今回は自分だけなので1人)。

![WS000787.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/ef60c96d-bd65-27d1-09bd-ad28092e76d5.jpeg "トークルーム作成")

### 2. LINE Notify にログイン

次に、 Web から LINE Notify にログインします。
 LINE のアカウントがあれば、特別なアカウント作成などは不要です。

今回は、 QR コード方式でログインしてみましょう。
まずは、ブラウザで以下のサイトに接続します。

[LINE Notify](https://notify-bot.line.me/ja/)

右上の「ログイン」を選択します。

![WS000738.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/71815c13-744d-b1a2-72f4-84f4fcba65cd.jpeg "LINE_Notify")

「 QR コードログイン」を選択します。

![WS000739.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/76154d53-638f-3394-9ec4-2c51b04b9267.jpeg "ログイン")

すると、 QR コードが表示されます。
これをスマホの LINE アプリから読み込むことで、メールアドレスやパスワードを入力しなくともログインが可能です。

![WS000779.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/7d9cec1b-c102-e782-64f3-0663afc32555.jpeg "QRログイン")

スマホの LINE アプリで、「ホーム」⇒「友だち追加」を選択します。

![WS000777.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/6ff1110a-fea5-5ad7-08aa-88a2c80916b0.jpeg "ホーム")

「 QR コード」を選択し、先ほど表示された QR コードを読み込みます。

![WS000778.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/7c711399-9617-6ff1-1c49-bb0b54d4fbfd.jpeg "友だち追加")

読み込みに成功すると、ブラウザ側に認証番号が表示されるので、それをスマホアプリ側で入力して「本人確認」を押します。

![WS000780.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/194e3145-e24f-82e7-1e93-8b006d7f6d67.jpeg "認証番号")

![WS000781.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/12978380-c277-822f-02c3-c2e4cc5a44b1.jpeg "本人確認")

これで、 LINE Notify にログインできました。

### 3. トークンの発行

さて、いよいよトークンを発行していきます。
まずは先ほどログインした LINE Notify のページの右上にログインユーザ名が表示されているので、そこから「マイページ」を選択します。

![WS000789.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/7015c445-cd53-3b7d-9336-5d58fa4b3795.jpeg "トップ")

少し下に進むと「アクセストークンの発行(開発者向け)」という項目があるので、そこの「トークンを発行する」を押します。

![WS000745.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/9389530a-db20-eb7c-1b4f-7851c42e7713.jpeg "マイページ")

トークン名は何でもよいですが、今回は「テストトークン」としましょう。
トークルームに先ほど作成した「テスト用」を選択し、「発行する」を押します。

![WS000791.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/97ac534b-7f9f-319c-9c4e-e1c8f945915e.jpeg "トークン発行")

これで、トークンが発行されます。
この画面を閉じるとトークンは二度と表示できませんので、きちんと保管しておいてください。

![WS000790.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/2d615bef-5e89-9fc7-370f-58f586faaaec.jpeg "トークン")

### 4. トークルームへの招待

これでいよいよ投稿...とはならず、あと1つ、必要な作業が残っています。
それは、トークルームに「 LINE Notify 」を招待することです。
トークンを用いた投稿のアカウントは一律「 LINE Notify 」になるので、このアカウントがトークルームに投稿できるようにしておく必要があります。

まずはスマホの LINE アプリで先ほど作成した「テスト用」のトークルームを開き、右上の「設定」を選択します。

![WS000792.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/f5403a31-b131-05a1-b9b3-cc249c5baedd.jpeg "トークルーム")

「招待」を選択します。

![WS000793.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/e13fcfad-c846-7c39-8716-4a352eab46fe.jpeg "招待")

すると友だちのリストが表示されますが、先ほどトークンを発行した段階で「 LINE Notify 」が友だちとして自動で登録されているはずです。
なので、リスト内の「 LINE Notify 」を選択し、「招待」を押します。

![WS000794.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/601d4706-6938-7dae-99d2-63e1c2c88e41.jpeg "友だちを選択")

これで、トークルームに「 LINE Notify 」を招待できました。

![WS000795.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/17801a87-39dc-41e7-e540-07e80c32949a.jpeg "招待完了")

### 5. 投稿

さて、いよいよ投稿を行います。

今回は手っ取り早く、 Windows のコマンドプロンプト上で curl コマンドを実行して投稿します。
なお、今回使用する Windows 11 は標準で curl コマンドが搭載されていますが、古いバージョンの Windows の場合は curl コマンドが標準で搭載されていないこともあるので注意してください。

コマンドは、以下のドキュメントのサンプルをほぼそのまま用います。
ただし、「 ' (シングルクォート)」だけは「 " (ダブルクォート)」にしないとうまく動作しないので注意してください。
 status で 200 が返却されれば成功です。

[公式ドキュメント](https://notify-bot.line.me/doc/ja/)

```DOS:コマンドプロンプト
C:\Users>curl -X POST -H "Authorization: Bearer 発行したトークン" -F "message=foobar" https://notify-api.line.me/api/notify
{"status":200,"message":"ok"}
C:\Users>
```

スマホの LINE アプリで「テスト用」のトークルームを見ると、確かに message に指定した文字列が投稿されていることがわかります。

![WS000796.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/0c86672c-66e8-566e-08e9-18a1e0a4c79f.jpeg "投稿")

### 6. 備考

今回は単なる文字列を投稿しましたが、 LINE Notify では画像やスタンプの投稿も可能です。
 LINE Notify についてより詳しく知りたければ、以下の公式ドキュメントが参考になるかと思います。

[公式ドキュメント](https://notify-bot.line.me/doc/ja/)