baseVISION.Tool.Connectors.Harvest 2.1.0

dotnet add package baseVISION.Tool.Connectors.Harvest --version 2.1.0
NuGet\Install-Package baseVISION.Tool.Connectors.Harvest -Version 2.1.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="baseVISION.Tool.Connectors.Harvest" Version="2.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add baseVISION.Tool.Connectors.Harvest --version 2.1.0
#r "nuget: baseVISION.Tool.Connectors.Harvest, 2.1.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install baseVISION.Tool.Connectors.Harvest as a Cake Addin
#addin nuget:?package=baseVISION.Tool.Connectors.Harvest&version=2.1.0

// Install baseVISION.Tool.Connectors.Harvest as a Cake Tool
#tool nuget:?package=baseVISION.Tool.Connectors.Harvest&version=2.1.0

Get Harvest API V2 Client

This library allows connecting to the Harvest Timetracking API v2 and requesting and modifying all entities from there. https://www.getharvest.com/

Instead of other library it is using the new version 2 OAuth based API.

Getting Started

At the begining you need to generate your Personal Access token. The easiest way is by following the manual of Harvest https://help.getharvest.com/api-v2/authentication-api/authentication/authentication/#personal-access-tokens or directly navigating to https://id.getharvest.com/developers.

The API client is available as a nuget package and can easily be installed from there.

Creating the client by specifying the secrets you received in the step before:

HarvestClient c = new HarvestClient("%AccountId%", "%PersonalAccessToken%");

           
            

Retrieving Objects

Retrieve a list or a single item:

ResultEstimates e = c.Estimates.List();
ResultTasks t = c.Tasks.List();
ResultTimeEntries te = c.TimeEntries.List();
ResultClients cl = c.Clients.List();

Client ExistingClient = c.Clients.Get(12143655);

Adding a new item:

Client newClient = new Client() { Name = "TestKUR", Address = "TestStrasse" };
Client newCreatedClient = c.Clients.Add(newClient);

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

  • Thomas Kurth - Initial work

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
2.1.0 176 12/19/2023
2.0.1 435 3/8/2022
1.0.1 930 10/10/2018
1.0.0 715 10/9/2018

2.1.0: Update to .NET8 and new libraries
2.0.1: Stable release with new libraries
2.0.0-alpha: Support Restsharp 107 and Newtonsoft 13
1.0.1: Make ShouldSerialize methods virtual to allow override.
1.0.0: First Release