C#でロボットをRest実行する方法

フォローする

概要

C#でロボットをRest実行する方法のサンプルコードを記載します。
.Net標準のAPIを使用し、Httpリクエストでロボットを実行するサンプルになります。

使用例

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

namespace ExecuteRobot
{
    class Sample
    {

        static void Main(string[] args)
        {
            String result = ExecuteRobot().GetAwaiter().GetResult();
            Console.WriteLine(result);
        }

        private static async Task<String> ExecuteRobot() {

            String _inputParameter = "{\"parameters\":[{\"variableName\":\"input\",\"attribute\":[{\"type\":\"text\",\"name\":\"id\",\"value\":\"1234\"},{\"type\":\"text\",\"name\":\"name\",\"value\":\"サンプル\"}]}]}";
            String _robotUrl = "http://localhost:50070/rest/run/Default%20project/Rest.robot";
            String _username = "MCユーザー名";
            String _password = "パスワード";

            HttpClient client = new HttpClient();
            HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, _robotUrl);
            // MCの認証情報設定
            request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes(String.Format("{0}:{1}", _username, _password))));
            // レスポンスデータをJSON形式で受け取る
            request.Headers.Add("Accept", "application/json");
            // 送信するリクエストデータの形式をJSON形式に指定
            request.Content = new StringContent(_inputParameter, Encoding.UTF8, "application/json");
            HttpResponseMessage response = await client.SendAsync(request);
            return await response.Content.ReadAsStringAsync();

        }
    }
}

注意事項

こちらはあくまでも一例であり、この方法を推奨するものではありません。
お客様の判断においてご利用・参考下さい。

前提

.Net Framework4.7で動作確認をしております。

区分 確認Ver
逆引き 10.7.0.4