[C#] LINE Notifyで通知を送信する方法

[C#] LINE Notifyで通知を送信する方法

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);
    }
}

実行してみると、メッセージ通知が確認できます。

以上。

C#カテゴリの最新記事