Webソリューション部なのにWebについて書かない社員。
はじめまして。
マジックソフトウェア・ジャパン Webソリューション部の竹本です。
主にWebClientについて書いていきたいと思います。
Magic xpaは皆さんのほうが詳しいのでここではそれほど書きません(笑)
で、いきなりですがLINE連携です。これはWebClientに関わらずオンプレやRIAでも使えるテクニックです。
Magicでイベントを起こすとグループ通知や自分に対してLINEが通知するというものです。
ぜひお試しください。
LINE側作業
https://notify-bot.line.me/ja/ にて
LINE Notifyを開き右上のログインをクリックする(LINEを送信するアカウントでログインすること)
アクセストークンの発行
をクリック
どういった通知をどのグループに送信するかを設定します。
あらかじめグループに入っている必要があります。
これでトークンを発行し保存します
次にグループを編集してLINE Notifyをグループへ入れます。
LINE Notifyを参加させたあとはログインした本人は抜けても大丈夫です
↓↓↓
↓↓↓
↓↓↓
Magic側作業
コンポートネントリポジトリにて行作成してタイプ
を .NETに変更。F5キーにてズームします。
System.Netバージョン4.0.0.0を選択します
同様にSystem.webも選択します。
外部コール
外部コールにて .NET を選択します
.NET言語はC# メソッド名はLINE (任意です)をいれてパラメータ上でズームします。
項目には文字項目の変数やカラムを設定し.NETタイプがSystem.Stringになっていることを確認します。
.NET項目は任意ですが、C#を理解しないうちはMessageとします。
以下のコードを書きます。コピー&ペーストでも大丈夫です。
var token = “取得したトークンをここに入れます”;にはLINEで取得したトークンを設定してください。
using System;
using System.Text;
using System.Net;
using System.Web;
public static class Snippet
{
public static void LINE(System.String Message)
{
var token = "取得したトークンをここに入れます";
var url = "https://notify-api.line.me/api/notify";
var enc = Encoding.UTF8;
var payload = "message=" + HttpUtility.UrlEncode(Message, enc);
using (var wc = new WebClient())
{
wc.Encoding = enc;
wc.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
wc.Headers.Add("Authorization", "Bearer " + token);
var response = wc.UploadString(url, payload);
}
}
}
いかがでしょうか?できましたか?
お客様の中ではWebClientで構築したシステムでキャンセル予約が入った時にグループLINEに通知が行くようになっております。