おーみんブログ

C#, ASP.NET Core, Unityが大好きです。

【ASP.NET Core(C#)】LINEに通知を送る処理を書いてみた!

はじめに

LINE NotifyとASP.NET Core(C#)を利用してLINEに通知を送る処理を書いてみました。

LINE Notifyのアクセストークンを発行する

LINE Notifyの公式ページへいき、ログインします。 ログインIDとパスワードは個人で利用しているLINEの資格情報と同じです。

notify-bot.line.me

右上にある自分の名前 > マイページ をクリックします。 以下のような画面になるので、「アクセストークンの発行(開発者向け)」 > 「トークンを発行する」をクリックします。 line_notify.png

クリックすると、どのグループへ通知するかの選択画面が表示されるので任意のグループを選択してアクセストークンを発行します。 ※発行されたアクセストークンはメモ帳等に保存しておきましょう。

C#での実装

実装については以下LINE Notifyのドキュメントにおける「通知系」 > 「POST https://notify-api.line.me/api/notify 」を参考にしています。

notify-bot.line.me

public async Task SendMessage(string message)
{
    var content = new FormUrlEncodedContent(new Dictionary<string, string>
        {
            { "message", message },
        });
    // こちらはHttpClientFactoryからHttpClientクラスを生成しています。
    var client = _clientFactory.CreateClient();
    // AuthorizationヘッダーにはBearer + アクセストークンを入力します。
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _lineSettingsConfig.AccessToken);
    // Content-Typeは"application/x-www-form-urlencoded"にします("multipart/form-data"でも可)
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/x-www-form-urlencoded"));
    await client.PostAsync("https://notify-api.line.me/api/notify", content);
} 

LINE Notifyを通知対象のグループへ追加する

通知をしたいグループへLINE Notifyを招待します。

おわりに

以上が完了するとプログラムが実行された際に対象のグループ内でLINE Notifyがメッセージを発信してくれます。 linenotify.jpg 機会があればLINE Bot系もチャレンジしてみたいです。