arueckauer/harvest-api 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

arueckauer/harvest-api

Composer 安装命令:

composer require arueckauer/harvest-api

包简介

Harvest 2 API using OAuth access tokens

README 文档

README

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 https://github.com/arueckauer/harvest-api for background information.

Getting Started

Install via composer

composer require arueckauer/harvest-api

Usage

Initialization

Zend Expressive

Place configuration of your Harvest account inconfig/autoload/application.local.php(replace example data with credentials of your account):

<?php

declare(strict_types = 1);

return [
    arueckauer\HarvestApi\ClientFactory::class => [
        'config' => [
            'headers' => [
                'Authorization'      => 'Bearer $ACCESS_TOKEN',
                'Harvest-Account-Id' => '$ACCOUNT_ID',
                'User-Agent'         => 'MyApp (yourname@example.com)',
            ],
        ],
    ],
];

Create a handler via CLI (replace example class name with your handler name):

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

declare(strict_types=1);

namespace App\Handler;

use Psr\Container\ContainerInterface;

class HarvestApiFactory
{
    public function __invoke(ContainerInterface $container) : HarvestApi
    {
        return new HarvestApi($container->get(\arueckauer\HarvestApi\Client::class));
    }
}

Other context

<?php

// public/index.php
    
require_once __DIR__ . '/../vendor/autoload.php';

$headers = [
    'Authorization'      => 'Bearer $ACCESS_TOKEN',
    'Harvest-Account-Id' => '$ACCOUNT_ID',
    'User-Agent'         => 'MyApp (yourname@example.com)',
];
$client = new \arueckauer\HarvestApi\Client($headers);

Test

Work in progress

License

MIT License. See LICENSE

Contributing

Please read and adhere to our CODE_OF_CONDUCT.

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, which at the time of development supported Harvest API V1.

Todo

To check the current status of the implementation, check out CHECKLIST and open issues.

统计信息

  • 总下载量: 69
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 4
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 3
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-12-10

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固