Airtable 1.5.0
dotnet add package Airtable --version 1.5.0
NuGet\Install-Package Airtable -Version 1.5.0
<PackageReference Include="Airtable" Version="1.5.0" />
paket add Airtable --version 1.5.0
#r "nuget: Airtable, 1.5.0"
// Install Airtable as a Cake Addin #addin nuget:?package=Airtable&version=1.5.0 // Install Airtable as a Cake Tool #tool nuget:?package=Airtable&version=1.5.0
Airtable .NET API Client
Airtable.net is the C-Sharp client of the public APIs of Airtable. It builds a Windows class library that targets .NET Standard named AirtableClientApi.dll. AirtableClientApi.dll facilitates the usage of Airtable APIs without having to worry about interfacing with raw HTTP, the low-level concepts like HTTP status codes and records paging. The users can write C-Sharp applications which integrate with Airtable by consuming what Airtable public APIs have to offer programmatically such as List Records, Create Record, Retrieve Record, Update Record, Replace Record, Delete Record.
Installation
Install the latest nuget package Airtable.1.5.0.nupkg
Requirements
Operating System: Windows 10 or newer Microsoft Visual Studio 2022 or newer (only if you choose to build AirtableApiClient.dll from source files using the instructions below.) .NET Standard 2.0 and the usage of System.Text.Json are supported in Visual Studio 2022.
Build AirtableApiClient.dll
Download Airtable.net c# source files from github.com. To compile to an assembly, simply create a new project in visual studio of C# .NET Standard Class Library and add these source files to the project.
Refer to this link for downloading VS 2022 Community Edition: https://visualstudio.microsoft.com/free-developer-offers/
Refer to the link below for downloading .NET SDK for VS 2022 https://github.com/dotnet/core/blob/main/release-notes/7.0/7.0.3/7.0.3.md?WT.mc_id=dotnet-35129-website
Refer to the link below to learn more about what's in .NET Standard 2.0 https://docs.microsoft.com/en-us/dotnet/standard/net-standard
Quickstart
Example demonstrating usage of the API to list records:
using System;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Text.Json;
using System.Text.Json.Serialization;
using AirtableApiClient;
readonly string baseId = YOUR_BASE_ID;
readonly string appKey = YOUR_APP_KEY_OR_ACCESS_TOKEN;
string offset = null;
string errorMessage = null;
var records = new List<AirtableRecord>();
using (AirtableBase airtableBase = new AirtableBase(appKeyOrAccessToken, baseId))
{
//
// Use 'offset' and 'pageSize' to specify the records that you want
// to retrieve.
// Only use a 'do while' loop if you want to get multiple pages
// of records.
//
do
{
Task<AirtableListRecordsResponse> task = airtableBase.ListRecords(
YOUR_TABLE_ID_OR_NAME,
offset,
fieldsArray,
filterByFormula,
maxRecords,
pageSize,
sort,
view,
cellFormat,
timeZone,
userLocale,
returnFieldsByFieldId,
includeCommentCount,
cancellationToken);
AirtableListRecordsResponse response = await task;
if (response.Success)
{
records.AddRange(response.Records.ToList());
offset = response.Offset;
}
else if (response.AirtableApiError is AirtableApiException)
{
errorMessage = response.AirtableApiError.ErrorMessage;
if (response.AirtableApiError is AirtableInvalidRequestException)
{
errorMessage += "\nDetailed error message: ";
errorMessage += response.AirtableApiError.DetailedErrorMessage;
}
break;
}
else
{
errorMessage = "Unknown error";
break;
}
} while (offset != null);
}
if (!string.IsNullOrEmpty(errorMessage))
{
// Error reporting
}
else
{
// Do something with the retrieved 'records' and the 'offset'
// for the next page of the record list.
}
Documentation
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- System.Text.Json (>= 7.0.2)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Airtable:
Package | Downloads |
---|---|
Musoq.DataSources.Airtable
Package Description |
|
Airtable.EFCore
Package Description |
|
SquidDraftLeague.Airtable
Airtable integration with SDL's drafting system. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.5.0 | 27,524 | 8/20/2024 |
1.4.0 | 167,579 | 12/1/2023 |
1.3.0 | 172,357 | 3/8/2023 |
1.2.0 | 65,430 | 7/23/2022 |
1.1.6 | 23,825 | 2/22/2022 |
1.1.5 | 91,164 | 12/22/2020 |
1.1.4 | 7,729 | 8/25/2020 |
1.1.2 | 18,539 | 3/26/2020 |
1.1.0 | 33,981 | 10/20/2019 |
1.0.2 | 77,657 | 2/17/2019 |
1.0.0 | 2,221 | 10/29/2018 |
0.9.3 | 1,533 | 10/17/2018 |
0.9.2 | 2,507 | 11/30/2017 |
0.9.0 | 1,848 | 4/29/2017 |
[feat] HttpClient IOC #83
- Added an overload Airtablebse ctor where users can specify a HttpClient
[feat] CancellationToken #84
- Added ancellationToken support