JavaでLINEにメッセージを送信(通知)する手順【LINE APIで連携】

JavaでLINEにメッセージを送信(通知)する手順【LINE APIで連携】

 

★悩み★
・Javaを使ってLINEにメッセージを送信(通知)できるのかな。
・JavaでLINEのbot(メッセージ送信)を作成するための準備を知りたい。
・LINE APIでLINEにメッセージを送信(通知)するJavaアプリを作りたい。



こういった「悩み」に答えます。

★本記事の内容★
① JavaでLINE APIを使ってLINEにメッセージを送信するための準備をご紹介
② JavaでLINE APIを使ってLINEにメッセージを送信(通知)する手順をご紹介



これからご紹介する「JavaでLINE APIを使ってLINEにメッセージを送信(通知)する手順」を実践したことで、30分以内で「LINEにメッセージを送信(通知)するJavaプログラム」を作成できました。

記事の前半では「JavaでLINE APIを使ってLINEにメッセージを送信するために準備するべきこと」を解説しつつ、記事の後半では「JavaでLINE APIを使ってLINEにメッセージを送信(通知)する手順」を紹介します。

この記事を読み終えることで、「JavaでLINE APIを使ってLINEにメッセージを送信(通知)できる」状態になります。
 

ちなみに、PythonでLINEにメッセージを送信したい方は、以下の記事をご覧ください。
 



また、RubyでLINEにメッセージを送信したい方は、以下の記事をご覧ください。


 

【PR】この記事には広告を含む場合があります

JavaでLINE APIを使ってLINEにメッセージを送信するための準備

JavaでLINE APIを使ってLINEにメッセージを送信するための準備


「JavaでLINE APIを使ってLINEにメッセージを送信するための準備」に関してご紹介します。
 

★JavaでLINE APIを使ってLINEにメッセージを送信するための準備★
手順1:LINEアカウントの作成
手順2:LINE Notifyの設定(アクセストークンを取得)
手順3:LINE Notifyを友達に追加し、指定したトークルームへ招待



上記の流れで、「JavaでLINE APIを使ってLINEにメッセージを送信するための準備」ができます。
 

上記の各手順は、以下の日時で動作確認済みです。
動作確認済み日時:2022年7月13日



以降で、上記「JavaでLINE APIを使ってLINEにメッセージを送信するための準備」の各手順に関してご説明します。
 

手順1:LINEアカウントの作成

「手順1:LINEアカウントの作成」に関してご説明します。
 

JavaでLINE APIを使ってLINEにメッセージを送信(通知)するためには、LINEのアカウントを持っている必要があります。



「手順1:LINEアカウントの作成」の手順に関しては、下記記事の「手順1:LINEアカウントの作成」をご覧ください。
 



以上で、「手順1:LINEアカウントの作成」は完了です。
 

手順2:LINE Notifyの設定(アクセストークンを取得)

「手順2:LINE Notifyの設定(アクセストークンを取得)」に関してご説明します。
 

JavaでLINE APIを使ってLINEにメッセージを送信(通知)するためには、LINE Notifyの設定が必要です。

 

★LINE Notifyとは★
LINEが提供するAPIです。LINE Notifyを利用することで、外部Webサービスやアプリケーションなどから、LINE利用者にメッセージを配信できます。
出典:LINE Notifyとは



「手順2:LINE Notifyの設定(アクセストークンを取得)」の手順に関しては、下記記事の「手順2:LINE Notifyの設定(アクセストークンの発行)」をご覧ください。
 



以上で、「手順2:LINE Notifyの設定(アクセストークンを取得)」は完了です。
 

手順3:LINE Notifyを友達に追加し、指定したトークルームへ招待

「手順3:LINE Notifyを友達に追加し、指定したトークルームへ招待」に関してご説明します。
 

LINE Notifyを友達追加することで、JavaでLINE APIを使ってLINEにメッセージを送信(通知)する準備が整います。



「手順3:LINE Notifyを友達に追加し、指定したトークルームへ招待」の手順に関しては、下記記事の「手順3:LINE Notifyを友達に追加しトークルームへ招待」をご覧ください。
 



以上で、「手順3:LINE Notifyを友達に追加し、指定したトークルームへ招待」は完了です。
 

上記の流れで、「JavaでLINE APIを使ってLINEにメッセージを送信するための準備」ができました。

 

JavaでLINE APIを使ってLINEにメッセージを送信(通知)する手順

JavaでLINE APIを使ってLINEにメッセージを送信(通知)する手順


「JavaでLINE APIを使ってLINEにメッセージを送信(通知)する手順」に関してご紹介します。

★JavaでLINE APIを使ってLINEにメッセージを送信(通知)するまでの流れ★
手順1:Javaのインストール
手順2:JavaでLINE APIを使いLINEにメッセージ送信するプログラムを作成
手順3:「JavaでLINEにメッセージを送信(通知)するプログラム」を実行



上記の流れで、「JavaでLINE APIを使ってLINEにメッセージを送信(通知)」できます。
 

上記の各手順は、以下の日時と環境で動作確認済みです。
動作確認済み日時:2021年6月6日
動作確認済み環境:CentOS Linux release 7.8.2003 (Core)



以降で、上記「JavaでLINE APIを使ってLINEにメッセージを送信(通知)するまでの流れ」の各手順に関してご説明します。
 

手順1:Javaのインストール

「手順1:Javaのインストール」に関してご説明します。
 

LINE APIを使ってLINEにメッセージを送信(通知)するプログラムを作るためにも、Javaをインストールしましょう。



「Javaのインストール手順」に関しては、以下の記事の「ステップ1:JDKのインストール」をご覧ください。
 

 
 

既にJavaをインストールされている方は、本手順を省略してください。


以上で、「手順1:Javaのインストール」は完了です。
 

手順2:JavaでLINE APIを使いLINEにメッセージ送信するプログラムを作成

「手順2:JavaでLINE APIを使いLINEにメッセージ送信するプログラムを作成」に関してご説明します。
 

JavaでLINE APIを使いLINEにメッセージ送信(通知)するプログラムを作成しましょう。



Javaで「LINE APIを使いLINEにメッセージ送信(通知)する」プログラムは、以下となります。プログラム中の「適宜変更」と書いてある部分は、自分用に書き換えてください。

import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.Objects;
import java.util.stream.Collectors;

public class LineNotify {
    public static void main(String[] args) {
        LineNotify lineNotify = new LineNotify("x"); // LINE Notifyのアクセストークン(適宜変更)
        lineNotify.notify("http://kakedashi-xx.comを閲覧することで、IT知識が拡充されます。");
        System.out.println("javaからlineへ通知しました。");
    }

    private final String token;
    public LineNotify(String token) {
        this.token = token;
    }

    public void notify(String message) {
        HttpURLConnection connection = null;
        try {
            URL url = new URL("https://notify-api.line.me/api/notify");
            connection = (HttpURLConnection) url.openConnection();
            connection.setDoOutput(true);
            connection.setRequestMethod("POST");
            connection.addRequestProperty("Authorization", "Bearer " + token);
            try (OutputStream os = connection.getOutputStream();
                 PrintWriter writer = new PrintWriter(os)) {
                writer.append("message=").append(URLEncoder.encode(message, "UTF-8")).flush();
                try (InputStream is = connection.getInputStream();
                     BufferedReader r = new BufferedReader(new InputStreamReader(is))) {
                    String res = r.lines().collect(Collectors.joining());
                    if (!res.contains("\"message\":\"ok\"")) {
                        System.out.println(res);
                    }
                }
            }
        } catch (Exception ignore) {
        } finally {
            if (connection != null) {
                connection.disconnect();
            }
        }
    }
}



上記のプログラムを「LineNotify.java」というファイル名で保存しましょう。

以上で、「手順2:JavaでLINE APIを使いLINEにメッセージ送信するプログラムを作成」は完了です。
 

手順3:「JavaでLINEにメッセージを送信(通知)するプログラム」を実行

「手順3:「JavaでLINEにメッセージを送信(通知)するプログラム」を実行」に関してご説明します。
 

手順2で作成した「LINEにメッセージを送信(通知)するJavaプログラム」を動かしてみましょう。



以下のコマンドを実行し、手順2で作成した「LINEにメッセージを送信(通知)するJavaプログラム」の動作を確認しましょう。

# javac LineNotify.java
# java LineNotify
javaからlineへ通知しました。
# 



上記のように「javaからlineへ通知しました。」が表示された場合、「LINEにメッセージを送信(通知)するJavaプログラムは正常動作した」と判断できます。

また、LINEにメッセージが送信(通知)されたかを確認しましょう。LINEに「http://kakedashi-xx.comを閲覧することで、IT知識が拡充されます。」のメッセージ(下図の赤枠)が来ていた場合、「JavaでLINEにメッセージを送信(通知)できた」と判断できます。
 

手順3:「JavaでLINEにメッセージを送信(通知)するプログラム」を実行



以上で、「手順3:「JavaでLINEにメッセージを送信(通知)するプログラム」を実行」は完了です。
 

上記の手順で、JavaでLINE APIを使ってLINEにメッセージを送信(通知)できました。



ちなみに、「その他のLINE API(例えば、フレンド登録をしたいなど)を詳しく知りたい」方には、以下の参考書をオススメします。
 



ちなみに、動画でで学びたい方には、以下をオススメします。

LINE APIを使ったアプリケーションを作成@udemy


 

【まとめ】JavaでLINEにメッセージを送信(通知)する手順【LINE APIで連携】

【まとめ】JavaでLINEにメッセージを送信(通知)する手順【LINE APIで連携】


今回の記事を通して、JavaでLINEにメッセージを送信(通知)する手順をご紹介することで、以下の悩みを解消しました。
 

★悩み★
・Javaを使ってLINEにメッセージを送信(通知)できるのかな。
・JavaでLINEのbot(メッセージ送信)を作成するための準備を知りたい。
・LINE APIでLINEにメッセージを送信(通知)するJavaアプリを作りたい。



JavaでLINE APIを使ってLINEにメッセージを送信(通知)する手順は?」で悩んでいるあなたにこの記事が少しでも役に立てれば幸いです。

コメント

タイトルとURLをコピーしました