C#からChatWork APIをたたいて投稿する

Pocket

今度はChatWork APIをC#から叩いてみました。.NET Framework 4で動作確認しました。
基本的な原理はHTTPのリクエストを投げるだけなので、難しいことはありません。

以下は指定されたグループチャットにメッセージを投稿するサンプルです。

using System;
using System.IO;
using System.Net;
using System.Text;
using System.Windows.Forms;

namespace ChatWorkMessenger
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void sendButton_Click(object sender, EventArgs e)
        {
            // 各種設定値
            const string apiKey = "API KEY HERE";
            // グループチャットを指定
            const string roomId = "99999999";

            //文字コードを指定する
            var enc = Encoding.GetEncoding("UTF-8");

            // パラメタのエンコード・構築
            var postData = "body=" + Uri.EscapeDataString(messageTextBox.Text);
            var postDataBytes = System.Text.Encoding.ASCII.GetBytes(postData);

            // WebRequest作成
            var requestUrl = string.Format("https://api.chatwork.com/v1/rooms/{0}/messages", roomId);
            var req = WebRequest.Create(requestUrl);
            req.Method = "POST";
            req.ContentType = "application/x-www-form-urlencoded";
            // POSTデータ長を指定
            req.ContentLength = postDataBytes.Length;
            req.Headers.Add(string.Format("X-ChatWorkToken: {0}", apiKey));

            // データをPOST送信するためのStreamを取得
            var reqStream = req.GetRequestStream();
            // 送信するデータを書き込む
            reqStream.Write(postDataBytes, 0, postDataBytes.Length);
            reqStream.Close();

            // サーバーからの応答を受信する
            var res = req.GetResponse();
            // 応答データを受信するためのStreamを取得
            var resStream = res.GetResponseStream();
            // 受信して表示
            var sr = new StreamReader(resStream, enc);

            // 結果受信
            var responseMessage = sr.ReadToEnd();
            
            sr.Close();

            MessageBox.Show(responseMessage);

        }
    }
}

投稿者紹介

株式会社ユニキャスト
私たちは、テクノロジに魅せられた個性あふれるメンバーによって構成された茨城県日立市に本社を構えるベンチャー企業です。
”テクノロジを通して「驚き」と「感動」を創造し、人々の「夢」と「笑顔」を支えます。” の経営理念をモットーに明るい未来を描き、ワクワクする企画提案を続けて参ります。

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください