LemonteaのUnity部屋

C#とかのお話です~

C# Web API リクルートのTalk APIを使う

こんにちは。レモンティーです。

今回はWebAPIを使います。

具体的には↓のTalk APIです。
a3rt.recruit-tech.co.jp

最終的にはこんな感じです

           using System.Net.Http;
           using Newtonsoft.Json.Linq;
   
           private static readonly string APIkey = "AAAAAAAAAAAAAAAAAAAAAA";
           private static readonly HttpClient client = new HttpClient();
___________________

           var values = new Dictionary<string, string>
            {
                { "apikey", APIkey },
                { "query", "おはよう!"}
            };
            var content = new FormUrlEncodedContent(values);
            var response =await client.PostAsync("https://api.a3rt.recruit-tech.co.jp/talk/v1/smalltalk", content);
            var responseString = await response.Content.ReadAsStringAsync();
            JObject jobj = JObject.Parse(responseString);
            string rep = (string)((jobj["results"][0]["reply"] as JValue).Value);
            Console.WriteLine(rep);

では見ていきます。

API key発行

まずは冒頭に張ったリンク先のサイトでAPIKeyを発行します
画面下にでっかく「API KEY 発行」と書かれたボタンがあるので
それを押して取得します。

リクエストを送る

サイトによるとapikeyとqueryという二つのパラメーターが必須らしいので
それを付けて送信します。それがこの部分です。

           var values = new Dictionary<string, string>
            {
                { "apikey", APIkey },
                { "query", "おはよう!"}
            };
            var content = new FormUrlEncodedContent(values);
            var response =await client.PostAsync("https://api.a3rt.recruit-tech.co.jp/talk/v1/smalltalk", content);

パラメーターはディクショナリで
”パラメーター名”,”値” ですね。

結果を表示

json形式で結果が得られるのでその中から
返事が入っているreplyプロパティを取り出して表示します。

           var responseString = await response.Content.ReadAsStringAsync();
            JObject jobj = JObject.Parse(responseString);
            string rep = (string)((jobj["results"][0]["reply"] as JValue).Value);
            Console.WriteLine(rep);

これで完了です。
「おはようございます」とかそんな感じの言葉がかえってきます。


今回はこれでおしまいです。
sawalemounity.hatenablog.com

sawalemounity.hatenablog.com

sawalemounity.hatenablog.com