LINE Notifyの代替としてLINE Messaging APIを利用し、通知を送信する方法とその設定手順についてまとめました。
LINE Notifyのサービス終了に伴い、LINE Messaging API を活用して、同様に通知を送れるように設定します。
LINE Notifyのサービス提供が終了したため、通知機能を維持するにはLINE Messaging APIへの移行が必要です。 ※なお、個人的にはSlackのWebhook通知のほうが簡単でオススメです → Slack設定方法
Line公式を登録していきます。前の記事でLineの公式登録を行っているので、そちらを参考にしてください。プロバイダーの作成まで実行してください。
Lineの公式登録が終わったら、Line Messageを作成します。
line messageを作成するためには公式チャンネルが必須となっています。
必要な情報を入力し作成していきます。
アカウント認証は後で行っても大丈夫です。
チャンネルの作成が完了したら、チャンネルの設定を行います。 チャンネルの設定は、チャンネルの詳細から行います。
アカウントリストから、作成したチャンネルを選択しMessaging APIを有効化します。
右上の設定から、Message-apiを有効にするを選択します。
Messageing APIを利用するをクリックします。
その後は手順に従って進めていきます。
Line-Message-apiを有効にすると、Messaging APIの情報が表示されます。
コンソール画面からもmessaging APIが作成できたことを確認できます。
ここまでで公式チャンネルの設定が終了しました。 次に、Lineのコンソール画面からの操作になります。
1.Lineのコンソール画面から作成したチャンネルを選択します。

2.チャンネルのMessageing API設定のタブから一番下のチャネルアクセストークンを発行します。
message apiにはこの発行された、チャネルアクセストークンが必要となります。
ここまでで設定が終了したら、やっとメッセージを送信する準備が整いました。
まず試しに、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のコンソール画面から確認することができます。
置き換えると以下のようになります。
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