wearerequired/harvest-api-php-client

PHP client library for the Harvest REST API.

0.1.1 2019-03-19 17:24 UTC

README

Build Status codecov

An awesome object oriented wrapper for the Harvest REST API v2, written with and for modern PHP.

Install

Via Composer:

composer require wearerequired/harvest-api-php-client php-http/guzzle6-adapter "^2.0"

Why php-http/guzzle6-adapter? The library is decoupled from any HTTP messaging client with the help by HTTPlug.

Basic Usage

// Include Composer's autoloader.
require_once __DIR__ . '/vendor/autoload.php';

// Set up the client.
$client = new \Required\Harvest\Client();
$client->authenticate( 'account-id', 'token' );

// Do your API calls.
$currentUser = $client->currentUser()->show();

// Example request with auto paging.
$projects = $client->projects()->allWithAutoPagingIterator();
foreach ( $projects as $project ) {
	// Do something with $project. The iterator will automatically
	// fetch new entries if the end of a page is reached.
}

OAuth

This library does not include an OAuth 2.0 Client. We suggest to use the PHP League's OAuth 2.0 Client with our OAuth provider for Harvest.

License

The MIT License (MIT). Please see license file for more information.