TableauSharp is a .NET SDK that provides a clean, developer-friendly abstraction over Tableau’s REST API. It simplifies authentication, user/group management, workbooks, permissions, and embedding for .NET developers.
Coming soon to NuGet:
dotnet add package TableauSharp
For now, clone the repository:
git clone https://github.com/teesofttech/TableauSharp.gitConfiguration (appsettings.json)
Add your Tableau settings in appsettings.json
:
{ "Tableau": { "ServerUrl": "https://your-tableau-server", "SiteContentUrl": "yoursite", "PersonalAccessTokenName": "your-token-name", "PersonalAccessTokenSecret": "your-token-secret", "UsePAT": true } }Dependency Injection Setup
Register TableauSharp in Program.cs
(or Startup.cs
):
using TableauSharp.Common.Models; using TableauSharp.Extensions; var builder = WebApplication.CreateBuilder(args); // Bind Tableau settings builder.Services.Configure<TableauAuthOptions>( builder.Configuration.GetSection("Tableau")); // Register Tableau services builder.Services.AddTableauSharp(); var app = builder.Build();
public class WorkbooksController : ControllerBase { private readonly IWorkbookService _workbookService; public WorkbooksController(IWorkbookService workbookService) { _workbookService = workbookService; } [HttpGet("workbooks")] public async Task<IActionResult> GetWorkbooks() { var workbooks = await _workbookService.GetAllAsync(); return Ok(workbooks); } }
TableauSharp/
├── Auth/ # Authentication services
├── Users/ # User & Group management
├── Workbooks/ # Workbooks and Views
├── DataSources/ # Data sources
├── Projects/ # Project management
├── Permissions/ # Permissions management
├── Embedding/ # Trusted tickets and embedding
└── Common/ # Shared models, enums, utilities
Contributions are welcome! Please fork the repo and submit a pull request.
MIT License. See LICENSE for details.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4