【覚書】Yahoo!テキスト解析→校正支援V2方法

 

Yahoo!が公開している、APIにある。テキスト解析は優秀で使い勝手が良いです。

その中の校正支援は、校正のチェックには使いえるのですが、V1でのXMLを使ったインターフェースが停止されて、V2に変更しなければならなくなった。JSON形式なので、フォーマット自体はそれほど大きな変更がなったのですが、取得するためのPOSTが面倒だった。

今までは、URLパラメータに、AppIDを追加すればよかったのですが、User-Agentを独自に作って追加しなければならなかった。

サンプルコードが、Pythonになっている。C#で書いてほしいとは言わないけど、PHPとかもあれば使っている人が多いのになぁ・・・。

    headers = {
        "Content-Type": "application/json",
        "User-Agent": "Yahoo AppID: {}".format(APPID),
    }

この部分が面倒。

面倒なだけでできないわけではない。何で実装するのかの問題だけだ。

今回は、対処として、HttpClient を使った。

            string json = JsonConvert.SerializeObject(jKosei, Formatting.Indented);
            //
            HttpClient client = new HttpClient();
            //
            client.DefaultRequestHeaders.TryAddWithoutValidation("User-Agent", "Yahoo AppID: " + strAppId);
            var content = new StringContent(json, Encoding.UTF8, "application/json");

            var response = await client.PostAsync(url, content); 
            var resString = await response.Content.ReadAsStringAsync();

DefaultRequestHeaders を使ったけど、ひとまず動くことが確認できて、UIを変更しないで、データの表示ができるところまで修正を行った。

コードのほとんどを端折っているけど、覚書だから別に問題はないはずだ。

これで、クライアントサイドからC#で構成支援が使える。

開発に関してや、時事ネタ。F1関連の戯言を呟いています。
小説アカウントでは、宣伝をメインに積読本や購入予定の書籍を呟いています。