RestAPI

C#で使える無料のREST API用ライブラリ RestSharp

はじめに

C#で使える無料のREST API用ライブラリ「RestSharp」を紹介します。

RestSharpの概要

2020年10月に公開された比較的新しいライブラリです。
「おそらく .NETでもっとも人気のある、REST API クライアントライブラリ」と本家サイトにも掲載されています。DL数・更新頻度も多く、NuGetのダウンロードランキングでも39位です。

データのシリアライズ/デシリアライズ機能、認証機能、GETやPOSTなど、ほぼ全てのHTTP呼び出しコマンドに対応しており、使い方もシンプルです。

ライセンス・人気度

ライセンスApache-2.0
.NETバージョン4.5.2 ~
NuGet ダウンロード数768.1M
GitHub Star数7.8k

※ DL数などは記事作成時点の数値です。

RestSharpの使った簡単なサンプル

RestSharpを使ってデータを取得するコードは以下の通りです。
政府統計の総合窓口「e-Stat」(RestAPI対応) から「人口推計」のデータを取得しています。

基本的な処理の流れは以下の3点で、メインの処理は10行程度で書くことが出来ます。

  • ① アクセスするURL(URI)の指定
  • ② リクエストのHTTPコマンド / パラメータの指定
  • ③ REST APIへのリクエストの発行

下記コードを正常実行するためには、e-Statに会員登録(無料)して発行する「appID」が必要です。appIDを発行後、36行目の内容を自身のappIDに置き換えてください。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.IO;

// RestClientなど、RestSharpのクラスに使用します
using RestSharp;
using RestSharp.Authenticators;

namespace ConsoleAppRestApi
{
    class Program
    {
        static void Main(string[] args)
        {
            // RestAPI用のクライアントを生成します
            var client  = new RestClient();

            // RestAPI用のリクエストを生成します
            var request = new RestRequest();

            // RestAPIから情報取得のためにアクセスする、e-StatのURLです(XML用)
            client.BaseUrl = new Uri("http://api.e-stat.go.jp/rest/3.0/app/getStatsData");

            // RestAPIから情報取得のためにアクセスする、e-StatのURLです(json用) 
            //client.BaseUrl = new Uri("http://api.e-stat.go.jp/rest/3.0/app/json/getStatsData");

            // HTTPのコマンドを指定します、情報の取得なので GET を指定します
            request.Method = Method.GET;

            // e-Statで取得した appID をパラメータとして追加します
            request.AddParameter("appId", "*** 取得したappidを記載する ***", ParameterType.GetOrPost);

            // e-Statの統計表表示 ID (取得した統計表の番号) をパラメータとして追加します
            request.AddParameter("statsDataId", "0003412317", ParameterType.GetOrPost);

            // リクエストを送信します
            var response = client.Execute(request);

            // リクエストにより取得したデータの中身をファイルに書き込みます
            File.WriteAllText(@"C:\test.xml", response.Content );

            // 終了待ちです
            Console.WriteLine(">> RestAPIによるデータの取得が完了しました。");
            Console.ReadKey();
        }
    }
}

実行結果

上記コードの実行すると、以下の統計データがXMLとして保存されます。

取得したXMLデータ (冒頭部分抜粋)

取得したXMLデータ(データ部抜粋)

e-Statの利用方法について

e-Statを使用するためには、無料の会員登録が必要です。
メールアドレスだけで登録可能なので、興味がある方は以下から会員登録をしてappIDを取得してください。
appIDの取得方法等については、e-Statのサイトをご覧ください。

https://www.e-stat.go.jp/api/

Twitterからの情報取得

RestSharpの本家サイトでは、Twitterから情報を取得する方法が掲載されています。
Twitterから情報を取得したい!というかたは、以下の公式のサンプルをご覧ください。

https://restsharp.dev/getting-started/getting-started.html#basic-usage

まとめ

C#で使える無料のREST API用ライブラリ「Rest Sharp」を紹介しました。
参考になればうれしいです。

RestSharpの詳しい使い方や、政府の統計総合窓口「e-Stat」の使用方法や使用するコツを、以下の記事で詳しく解説しています。興味のある方は合わせてご覧ください。



応援・要望お待ちしてます

ブログを見ていて「この辺を詳しく知りたい」「このライブラリの使い方を知りたい」「こんなことで困ってる」...etc があれば、コメント・問い合わせ・Twitterで教えてください。質問・ご要望に合わせて解説記事を作ります。

ブログを気に入っていただけたり、「応援してもいいよ」という方がいたら、ブログやSNSでの紹介をお願いします。 あたたかい応援は、中の人の更新の大きな励みになります。

ABOUT ME
えす
現役のソフトウェアエンジニアです。 C++ C# Python を使ってます。10年ちょい設計/開発部門にいましたが、今はQAエンジニアっぽいことをしています。

COMMENT

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