Quickbase-Sharp
0.1.0
dotnet add package Quickbase-Sharp --version 0.1.0
NuGet\Install-Package Quickbase-Sharp -Version 0.1.0
<PackageReference Include="Quickbase-Sharp" Version="0.1.0" />
<PackageVersion Include="Quickbase-Sharp" Version="0.1.0" />
<PackageReference Include="Quickbase-Sharp" />
paket add Quickbase-Sharp --version 0.1.0
#r "nuget: Quickbase-Sharp, 0.1.0"
#:package Quickbase-Sharp@0.1.0
#addin nuget:?package=Quickbase-Sharp&version=0.1.0
#tool nuget:?package=Quickbase-Sharp&version=0.1.0
QuickbaseSharp 
This QuickBaseSharp API wrapper provides a simplified and resilient way to interact with the QuickBase API using C#. It features built-in retry logic, circuit breaker patterns for handling transient errors and service unavailability, and a fluent interface for interacting with QuickBase resources.
⚒️ Usage
// Used to authenticate requests
var options = new QuickbaseClientOptions
{
RealmHostname = "YOUR_REALM_HOSTNAME",
UserToken = "YOUR_USER_TOKEN",
UserAgent = "YourAppName/1.0"
};
// Client is all you need
var quickbaseClient = new QuickbaseClient(options);
// New app to create in your Quickbase realm
var newAppRequest = new NewAppRequest
{
Name = "My App",
Description = "My first app",
AssignToken = true,
SecurityProperties = new SecurityProperties
{
AllowClone = false,
AllowExport = false,
EnableAppTokens = false,
HideFromPublic = false,
MustBeRealmApproved = true,
UseIPFilter = true
},
Variables = new List<Variable>
{
new Variable { Name = "Variable1", Value = "Value1" }
}
};
AppDetailsResponse appDetailsResponse; // We return all the details of the new app
try
{
appDetailsResponse = await quickbaseClient.Apps.CreateAppAsync(newAppRequest);
Console.WriteLine($"App created with ID: {appDetailsResponse.Id}");
}
catch (QuickbaseException ex)
{
Console.WriteLine($"Error creating app: {ex.Message}");
}
This code snippet creates a new app by sending a POST request to the QuickBase API. Replace "Your New App" with the desired name for your new app.
Note: Make sure to replace "YOUR_REALM_HOSTNAME" and "YOUR_USER_TOKEN" with your actual QuickBase realm hostname and user token.
⚙️ Features
Note: This library does not fully implement the API, so some features might be missing.
- Creating, updating, getting, deleting Apps and getting App events and Copying an app.
- Creating, updating, getting, deleting Tables and getting Table Relationships, and creating/updating Table Relationships.
- Getting Reports for a Table, getting a Report and running a Report.
- Creating, updating, getting, deleting fields and getting the usage for Field(s).
- Running Formulas.
- Insert/Updating Records, deleting Records and querying them for data.
- Creating temporary tokens for a dbid and exchanging SSO tokens.
- Cloning UserTokens, deactivating or deleting UserTokens.
- Downloading and deleting Files.
- Getting information about Users, denying/removing from groups, adding/removing members and or managers.
- Getting Audit logs.
- Platform Analytics.
❌ Error Handling
The QuickBaseSharp API wrapper throws a QuickbaseException when QuickBase API requests fail. You can catch these exceptions to handle errors gracefully in your application.
📝 Logging
This wrapper uses Serilog for logging various levels of information, including retries and circuit breaker states. Ensure that Serilog is configured in your application to capture and store logs as required.
🙋 Contribution
Contributions are welcome. Please feel free to submit pull requests or create issues for bugs and feature requests on the project's repository.
Prerequisites
- .NET 7+
- An active Quickbase account
- A Quickbase realm hostname and a user token
- Read more here from offical Quickbase RESTful API docs here
📜 License
Distributed under the MIT License. See LICENSE for more information.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net7.0 is compatible. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net7.0
- Dawn.Guard (>= 1.12.0)
- Newtonsoft.Json (>= 13.0.1)
- Polly (>= 8.1.0)
- Serilog (>= 3.0.1)
- Serilog.Sinks.Console (>= 4.1.0)
- Serilog.Sinks.File (>= 5.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|
Not all endpoints are here, this is a very early build.