C#からLINEに通知する(LINE Notify)

最終更新日



はじめに

たっつー
たっつー

こんにちは、のんびりエンジニアのたっつーです。
Twitter(@kingyo222)で Unity情報 を発信しているのでよければフォローしてください!

 

 

タイトルの通りです、C# から LINE にメッセージを通知できる仕組み(LINE Notify)を使ってみたいと思います。

↓のような事が出来ます。

 

LINE Notifyとは?

簡単に言うと、プログラム言語を用いてLINEに通知を行うことができます。
以下、公式の説明になります。

Webサービスからの通知をLINEで受信
Webサービスと連携すると、LINEが提供する公式アカウント”LINE Notify”から通知が届きます。複数のサービスと連携でき、グループでも通知を受信することが可能です。

https://notify-bot.line.me/ja/

ちなみに、公式では以下サポートしており、このサービス(Github、IFTTT、Mackerel)を使えばノンプログラミングでサービスの連携が行えます。

今回は C# からLINE Notify を使って、LINEに通知するのがテーマですので上記サービスは使わないのであしからず。

余談ですが、Gmailの重要なメールをLINEに通知しないなと思い、IFTTTを使ってみたのですが、2019年3月からGmail連携が無効になったみたいでできませんでした。
そこで、Zapairを使ってGmail → LINE の通知を行ったので以下記事にてご紹介もできればと思います。

LINE の設定

LINE Notifyトークンの発行

まず最初に、LINE Notiy に登録を行いましょう。
(登録手順は割愛いたします)

次に以下マイページに移動してください。
https://notify-bot.line.me/my/

アクセストークンの発行を行ってください。

トークン発行画面が表示されるので、以下情報を入力して、トークンを発行してください。

  • トークン名:適当につけましょう
  • トークルームの選択:LINE Notifyはグループ トーク にのみ通知が行えます、適当なグループが無ければ1人グループなどを作成して使いましょう

トークンが発行されました。

英数字の文字列が表示されるのでコピーしておきましょう。
※ここのトークンは一度しか表示できないので忘れないでください。

LINE Notifyをグループトークに招待

次に、「LINE Notify」ユーザをグループトークに招待します。

以下の画像のグループを作成しました、ここに「LINE Notify」ユーザを追加しましょう。「LINE Notify」ユーザが追加されると以下のように参加メッセージが表示されます。

C# から LINE に通知する

ソースコード

それでは、プログラミング言語(C#)から LINE Notifyに通知を行ってみましょう。今回はここのソースコードをお借りしました!

ACCESS_TOKEN の値を上記取得した文字列に置換してご使用ください!

using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;

namespace LineNotyfyTest
{
    class Program
    {
        static void Main(string[] args)
        {
            PublishMessage("Hello World!");

            Console.ReadKey();
        }

        private static async void PublishMessage(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);
            }
        }
    }
}

実行結果

どうでしょうか、以下のように表示されれば設定完了です。

トークン名に設定した名前が、画面の表示につかわれるみたいなので、仮想キャラクター名を定義すると、秘書的な感じで通知してくれるような事ができて楽しそうですね。







よければ、SNSにシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

コメントする