LINE Notify
プログラムから LINE に通知メッセージを送信したいときは、LINE Notify を使うと可能になります。利用者登録を行うことで WebAPI が利用できるようになります。
アクセストークンを発行する
最初に LINE Notify のページからログインをします。
ログインしたらマイページに移動します。
次にマイページにある アクセストークンの発行(開発者向け) からトークンの発行を行います。
「トークン名」と「通知を送信するトークルーム」を入力します。トークン名は、メッセージの頭につくので、短い文字列にしておいたほうが賢明です。
発行されたトークンをメモしておきます。再取得できないので紛失しないようにしましょう。
LINE Notify を連携するグループに招待する
トークンを発行すると LINE Notify を招待しろと言われるので、招待しておきましょう。招待しないと連携ができません。
WebAPIで通知する
WebAPIのドキュメントを読んで通知を送信してみます。
通知のためのAPIの使い方
通知を送信するにはヘッダーにトークンを付けてPOSTするだけです。
以下ドキュメントの引用です。
POST https://notify-api.line.me/api/notify
アクセストークンに関連付けられたユーザ・またはグループに対して通知を送信します。
もしこのAPIの呼び出しでステータスコード 401 がレスポンスされた場合、該当するアクセストークンは LINE Notify 側で無効化 (主にユーザによる無効化) されたことを示します。この場合、連携サービス側でも連携情報を削除してしまってかまいません。
リクエストは application/x-www-form-urlencoded (HTMLのデフォルトのフォームの送信形式と同一です) で、POST メソッドを使用します。
$ curl -X POST -H 'Authorization: Bearer <access_token>' -F 'message=foobar' \
https://notify-api.line.me/api/notify
{"status":200,"message":"ok"}
$ curl -v -X POST -H 'Authorization: Bearer invalidtoken' -F 'message=foobar' \
https://notify-api.line.me/api/notify
{"status":400,"message":"Invalid access token"}
C# で送信するサンプル
private static async void PublishhMessage(string message)
{
// 発行したアクセストークン
var ACCESS_TOKEN = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
using (var client = new HttpClient())
{
// 通知するメッセージ
var content = new FormUrlEncodedContent(new Dictionary<string, string>
{
{ "message", message },
});
// ヘッダーにアクセストークンを追加
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", ACCESS_TOKEN);
// 実行
var result = await client.PostAsync("https://notify-api.line.me/api/notify", content);
}
}
実行してみると、メッセージ通知が確認できます。
以上。
コメントを書く