Main Logo
hero-background.jpg

LINE Notify終了後、LINE Messaging APIで通知を送る方法

LINE Notifyの提供終了に伴い、LINE Messaging APIで通知機能を代替する方法を解説

LINE Notifyの代替としてLINE Messaging APIを利用し、通知を送信する方法とその設定手順についてまとめました。


目標

LINE Notifyのサービス終了に伴い、LINE Messaging API を活用して、同様に通知を送れるように設定します。

LINE Messaging API利用時の注意点

  • LINE Notifyと異なり、公式アカウント(チャンネル)の作成が必要になっています。
  • 通知(Pushメッセージ)を送るには、ユーザーが公式チャンネルの友だち登録が必要

なぜLINE Messaging APIを使うのか?

LINE Notifyのサービス提供が終了したため、通知機能を維持するにはLINE Messaging APIへの移行が必要です。 ※なお、個人的にはSlackのWebhook通知のほうが簡単でオススメです → Slack設定方法

Line Messageの準備

Line公式を登録していきます。前の記事でLineの公式登録を行っているので、そちらを参考にしてください。プロバイダーの作成まで実行してください。
Lineの公式登録が終わったら、Line Messageを作成します。

公式チャンネルの作成。

line messageを作成するためには公式チャンネルが必須となっています。

  1. 1.公式チャンネルを作成します。 公式チャンネルの作成
line-message-createchannel line-message-createchannel1

必要な情報を入力し作成していきます。

line-message-createchannel2 line-message-createchannel3

アカウント認証は後で行っても大丈夫です。

line-message-createchannel4

チャンネルの作成が完了したら、チャンネルの設定を行います。 チャンネルの設定は、チャンネルの詳細から行います。

line-message-createchannel5

チャンネルの設定から、Messaging APIを有効化します。

アカウントリストから、作成したチャンネルを選択しMessaging APIを有効化します。

  1. 1.チャンネルを選択。
line-message-channelsetting

右上の設定から、Message-apiを有効にするを選択します。

line-message-enable-messageapi1

Messageing APIを利用するをクリックします。

line-message-enable-messageapi2

その後は手順に従って進めていきます。

line-message-enable-messageapi3
line-message-enable-messageapi4 line-message-enable-messageapi5

Line-Message-apiを有効にすると、Messaging APIの情報が表示されます。

line-message-enable-message-f

コンソール画面からもmessaging APIが作成できたことを確認できます。

line-message-created-message-api

ここまでで公式チャンネルの設定が終了しました。 次に、Lineのコンソール画面からの操作になります。

Lineのコンソール画面からの操作

  1. 1.Lineのコンソール画面から作成したチャンネルを選択します。 line-message-created-message-api

  2. 2.チャンネルのMessageing API設定のタブから一番下のチャネルアクセストークンを発行します。

line-message-message-api-setting1 line-message-message-api-setting2

message apiにはこの発行された、チャネルアクセストークンが必要となります。

line-message-message-api-setting3

ここまでで設定が終了したら、やっとメッセージを送信する準備が整いました。

メッセージを送ってみる。

まず試しに、curlコマンドを使用しメッセージを送信してみます。

以下のコマンドはpush通知です。 push通知は、友達登録を行っている人に、任意のタイミングでメッセージを送信することができます。

任意のタイミングとは?ボットからメッセージを送りたいタイミングで送る事ができる機能です。
他の送り方はreply通知です。誰かからメッセージが来た時のみ、ボットから返信することができる機能です。言い換えれば、メッセージが来ない場合はボットからメッセージを送ることができません。

curl -v -X POST https://api.line.me/v2/bot/message/push \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer チャンネルアクセストークン' \
-d '{
    "to": "自分のUID",
    "messages":[
        {
            "type":"text",
            "text":"Hello, world1"
        },
        {
            "type":"text",
            "text":"Hello, world2"
        }
    ]   
}'

自分のUIDは、Lineの友達登録を行った後に、Lineのコンソール画面から確認することができます。

line-message-message-view-uid1 line-message-message-view-uid2

置き換えると以下のようになります。

curl -v -X POST https://api.line.me/v2/bot/message/push \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer J22Z1cDnyiEYDmggJKxKSZs/LOyMzptaag' \
-d '{
    "to": "U6c37d6eg4a1166f6ae4c56enaae5a638",
    "messages":[
        {
            "type":"text",
            "text":"Hello, world1"
        },
        {
            "type":"text",
            "text":"Hello, world2"
        }
    ]   
}'

wordpressであれば次で送れるかな?

未検証
function send_line_notify($contact_form) {
    $line_token = 'J22Z1cDnyiEYDmggJKxKSZs/LOyMzptaag'; // <-- ここを適切なトークンに変更

    $data = [
        "to" => "U6c37d6eg4a1166f6ae4c56enaae5a638",
        "messages" => [
            ["type" => "text", "text" => "メッセージがきました。"]
        ]
    ];

    // wp_remote_postを使用してLINE NotifyにPOSTリクエストを送信
    $response = wp_remote_post('https://api.line.me/v2/bot/message/push', array(
        'method'    => 'POST',
        'body'      => json_encode($data),
        'headers'   => array(
            'Authorization' => 'Bearer ' . $line_token,
            'Content-Type'  => 'application/json'
        )
    ));

    // エラーハンドリング
    if (is_wp_error($response)) {
        error_log('LINE Notifyエラー: ' . $response->get_error_message());
    } else {
        error_log('LINE Notify送信成功: ' . wp_remote_retrieve_body($response));
    }
}

まとめ

Line Notifyと異なり、初めに公式チャンネルを作成、Lineのコンソール画面からMessaging APIを有効化する必要があります。ハードルが少し高いですが、Line Notifyの代わりにLine Messageを使用することができます。何回も言いますが、個人的にはSlackの方が簡単で使いやすくオススメです。slack

関連記事

コメントを読み込み中...