jolicode / forecast-php-api
Harvest Forecast API的最新PHP客户端
v7.0.0
2024-03-29 11:07 UTC
Requires
- php: >=8.1
- jane-php/open-api-runtime: ^7.6
- php-http/client-common: ^1.9 || ^2.0
- php-http/client-implementation: *
Requires (Dev)
- jane-php/open-api-3: ^7.6
- nyholm/psr7: ^1.6
- symfony/http-client: ^5.4 || ^6.0|| ^7.0
README
Harvest Forecast 是Harvest开发的计划工具。
此PHP SDK是通过JanePHP使用Forecast OpenAPI规范自动生成的。这意味着
- 在
generated
目录中的代码不是手写的,而是生成的; - 如果API发生变化并且您需要修复API调用,请编辑OpenAPI规范文件,然后重新生成SDK。
安装
此库基于PSR-7和PSR-18构建。因此,您需要安装一些实现这些接口的库。
如果您的项目中还没有PSR-18客户端或PSR-7消息工厂,或者您不关心使用哪个,只需安装一些默认的
composer require symfony/http-client nyholm/psr7
现在您可以安装Forecast客户端
composer require jolicode/forecast-php-api
用法
首先,您需要检索一个访问令牌。请查看Harvest关于OAuth2授权流程的文档。
然后,使用提供的工厂来创建客户端
// $client contains all the methods to interact with the API $client = JoliCode\Forecast\ClientFactory::create( $accessToken, $forecastAccountId ); $clients = $client->listClients()->getClients(); $assignments = $client->listAssignments([ 'start_date' => '2019-01-01', 'end_date' => '2019-01-31', ])->getAssignments(); dump($clients); dump($assignments);
在上面的示例中,$client
变量是Client
类的实例,您可以通过它来了解API的功能。
需要更多示例或文档?请参阅文档。
可用的操作
除了上面的listClients()
方法外,您还可以使用以下所有方法
- 账户
getAccount()
- 聚合
countScheduledHours()
getRemainingBudgetedHours()
- 分配
createAssignment()
deleteAssignment()
editAssignment()
getAssignment()
listAssignments()
- 客户
getClient()
listClients()
- 人员
createPerson()
deletePerson()
editPerson()
getPerson()
listPeople()
- 占位符
createPlaceholder()
deletePlaceholder()
editPlaceholder()
getPlaceholder()
listPlaceholders()
- 配置文件
whoAmI()
- 项目
getProject()
listProjects()
- 重复分配集
createRepeatedAssignmentSet()
deleteRepeatedAssignmentSet()
editRepeatedAssignmentSet()
getRepeatedAssignmentSet()
listRepeatedAssignmentSets()
- 角色
createRole()
deleteRole()
editRole()
getRole()
listRoles()
故障排除
在使用此库时遇到一些问题?需要缺少的功能?请毫不犹豫地打开一个问题并与我们分享。
如果某些操作缺失或无法正常工作,请按照以下步骤重新生成SDK。
进一步文档
您可以使用以下方式查看当前和过去版本:
最后是一些元文档
许可证
此库采用MIT许可证授权 - 详细信息请参阅LICENSE文件。