.NET API wrapper and implementation of the Toggl Track API.
License: | MIT License |
Target Framework: | .NET 4.5, .NET 4.6, .NET 4.7, .NET Standard 2.0 and .NET8 |
The package is only available via NuGet. To install the package, you can either use the .NET CLI:
dotnet add package Skybrud.Social.Toggl --version 1.0.0-beta008
or the NuGet Package Manager:
Install-Package Skybrud.Social.Toggl -Version 1.0.0-beta008
The TogglHttpService
class is the entry point for communicating with the Toggl Track API:
@using Skybrud.Social.Toggl
@{
// Initialize from your API token
TogglHttpService toggl = TogglHttpService.CreateFromApiToken("Your API token");
}
@using Skybrud.Social.Toggl
@using Skybrud.Social.Toggl.Exceptions
@using Skybrud.Essentials.Json
@using Newtonsoft.Json.Linq
@using Skybrud.Social.Toggl.Responses.Track.Clients
@inherits UmbracoViewPage<Skybrud.Social.Toggl.TogglHttpService>
@{
// Declare your workspace ID
int workspaceId = 1234;
// Initialize from your API token
TogglHttpService toggl = TogglHttpService.CreateFromApiToken("Your API token");
try {
// Make the request to the API
TogglClientListResponse response = toggl.Track.Clients.GetClients(workspaceId);
<table class="table list">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
</tr>
</thead>
<tbody>
@foreach (TogglClient client in response.Body) {
<tr>
<td>@client.Id</td>
<td>@client.Name</td>
</tr>
}
</tbody>
</table>
} catch (TogglHttpException ex) {
<pre>@ex.Response.StatusCode @ex.Response.ResponseUri</pre>
<pre>@(JsonUtils.TryParseJsonToken(ex.Response.Body, out JToken token) ? token : ex.Response.Body)</pre>
}
}
Projects are fetched via the Projects endpoint, and you must specify the ID of the workspace to retrieve projects for:
@using Skybrud.Social.Toggl
@using Skybrud.Social.Toggl.Exceptions
@using Skybrud.Essentials.Json
@using Newtonsoft.Json.Linq
@using Skybrud.Social.Toggl.Models.Track.Projects
@using Skybrud.Social.Toggl.Options.Track.Projects
@using Skybrud.Social.Toggl.Responses.Track.Projects
@inherits UmbracoViewPage<Skybrud.Social.Toggl.TogglHttpService>
@{
// Declare your workspace ID
int workspaceId = 1234;
// Initialize from your API token
TogglHttpService toggl = TogglHttpService.CreateFromApiToken("Your API token");
try {
// Make the request to the API
TogglProjectListResponse response = toggl.Track.Workspaces.GetProjects(workspaceId);
<table class="table list">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>ClientID</th>
<th>HEX</th>
</tr>
</thead>
<tbody>
@foreach (TogglProject project in response.Body) {
<tr>
<td>@project.Id</td>
<td>@project.Name</td>
<td>@project.ClientId</td>
<td>@project.HexColor</td>
</tr>
}
</tbody>
</table>
} catch (TogglHttpException ex) {
<pre>@ex.Response.StatusCode @ex.Response.ResponseUri</pre>
<pre>@(JsonUtils.TryParseJsonToken(ex.Response.Body, out JToken token) ? token : ex.Response.Body)</pre>
}
}