LoginSignup
1
1

More than 1 year has passed since last update.

Airtableの簡易APIクライアント作ってみた

Last updated at Posted at 2023-02-07

前書き

AirtableのテーブルデータをJSONでダウンロードしたのち、適切に加工して自作アプリに組み込みたかった。
どうせなら勉強を兼ねて自作してみた。

前準備

APIを叩くには、アカウント自身のPersonal Access Tokenと baseidが必要です。下記からコピーしてください。

  1. Personal Access Tokenを作成
    GUIDE Personal access tokensをよく読んで操作したいbaseに対応するアクセストークンを作成する。Scopesはこのライブラリを使うだけならdata.records:readだけでよい。作成時にしかトークンをコピーできないので気を付けよう。
  2. baseIDをコピー
    API Referenceから操作したいbaseを選んでIDをコピーする。以下の画像の赤枠の部分から遷移して黒塗りの所にbaseIDがあるのでコピーしてください。最後の色違いピリオドは無関係なので気を付けよう。
    image.png
    image.png

使い方


    readonly string appKey = YOUR_PERSONAL_ACCESS_TOKEN;
    readonly string baseId = TARGET_BASE_ID;
    
    string table = TARGET_TABLE;
    string view = TARGET_VIEW;          //Optional
    string path = TARGET_FILE_FULLPATH;

    //Init HttpClientFactory
    var services = new ServiceCollection();
    services.AddHttpClient<IAirtableServices, AirtableServices>()
            .SetHandlerLifetime(TimeSpan.FromMinutes(5));
    var provider = services.BuildServiceProvider();
    var api_service = provider.GetRequiredService<IAirtableServices>();

    //指定のテーブルの特定のビューのJSONテキストをファイルに書き込み
    var result1 = await api_service.DownloadTableToFile(path,appKey,baseId,table,view);
    //指定のテーブルの特定のビューのJSONテキストを取得
    var result2 = await api_service.DownloadTableJson(appKey,baseId,table,view);
    //指定のテーブルの特定のビューをDataClassにマッピング
    var result3 = await api_service.LoadTable<DataClass>(appKey,baseId,table,view);

ソースコード

Nuget

参考

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1