今度は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);
}
}
}
投稿者紹介
-
私たちは、テクノロジに魅せられた個性あふれるメンバーによって構成された茨城県日立市に本社を構えるベンチャー企業です。
”テクノロジを通して「驚き」と「感動」を創造し、人々の「夢」と「笑顔」を支えます。” の経営理念をモットーに明るい未来を描き、ワクワクする企画提案を続けて参ります。
最近のエントリ
- レポート2019.10.28ユニキャストレストランを開催しました🍳
- レポート2019.08.29社内研修ワークショップ~マシュマロ・チャレンジ~
- レポート2019.08.06Computex/InnoVEX 出展者・通訳として参加してきました。
- レポート2018.06.12Computex 2018 レポート