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

Pocket
LINEで送る

この記事の所要時間: 413

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

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

[csharp]
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);

}
}
}

[/csharp]

投稿者紹介

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

人気の記事

コメント

コメントを残す

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

PAGE TOP

%d人のブロガーが「いいね」をつけました。