Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/arueckauer/harvest-api
Harvest 2 API using OAuth access tokens
https://github.com/arueckauer/harvest-api
harvest harvest-api
Last synced: 3 months ago
JSON representation
Harvest 2 API using OAuth access tokens
- Host: GitHub
- URL: https://github.com/arueckauer/harvest-api
- Owner: arueckauer
- License: mit
- Created: 2018-09-06T12:31:50.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2022-06-23T08:38:38.000Z (over 2 years ago)
- Last Synced: 2024-05-28T14:08:38.766Z (7 months ago)
- Topics: harvest, harvest-api
- Language: PHP
- Size: 163 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Harvest API
**Important: This package is under development and thus neither fully implemented or tested. Not production ready!**
Harvest 2 API using OAuth access tokens
Please see for background information.
## Getting Started
Install via [composer](https://getcomposer.org/)
```composer require arueckauer/harvest-api```
## Usage
### Initialization
#### Zend Expressive
Place configuration of your Harvest account in`config/autoload/application.local.php`(replace example data with credentials of your account):
```php
[
'config' => [
'headers' => [
'Authorization' => 'Bearer $ACCESS_TOKEN',
'Harvest-Account-Id' => '$ACCOUNT_ID',
'User-Agent' => 'MyApp ([email protected])',
],
],
],
];```
Create a handler via CLI (replace example class name with your handler name):
```bash
composer expressive handler:create "App\Handler\HarvestApi"
```This will create a Handler class and factory for it as well as register these in `config/autoload/zend-expressive-tooling-factories.global.php` for you.
Add a constructor injection to the created Handler class. Then in the newly created factory get the Harvest client object from the container and pass it to the Handler class constructor - `src/App/src/Handler/HarvestApiFactory.php`:
```php
get(\arueckauer\HarvestApi\Client::class));
}
}```
#### Other context
```php
'Bearer $ACCESS_TOKEN',
'Harvest-Account-Id' => '$ACCOUNT_ID',
'User-Agent' => 'MyApp ([email protected])',
];
$client = new \arueckauer\HarvestApi\Client($headers);```
## Test
Work in progress
## License
MIT License. See [LICENSE](LICENSE)
## Contributing
Please read and adhere to our [CODE_OF_CONDUCT](CODE_OF_CONDUCT.md).
### Submitting Bugs
This package is still under development and thus incomplete features and bugs are to be expected. If you experience any difficulties, feel free to open an issue here on GitHub.
### Pull requests
Contributions via pull requests are welcome.
## Acknowledgements
This package is heavily inspired by [bestit/harvest-api](https://github.com/bestit/harvest-api), which at the time of development supported Harvest API V1.
## Todo
To check the current status of the implementation, check out [CHECKLIST](CHECKLIST.md) and [open issues](https://github.com/arueckauer/harvest-api/issues).