wedocreatives / toggl
用于连接Toggl API的自定义PHP库 - ixudra/toggl的分支
0.6.0
2019-05-28 11:04 UTC
Requires
- php: >=5.6.0
- illuminate/support: ~5.0
- ixudra/curl: ~6.0
- nesbot/carbon: ~1.19
README
ixudra/toggl的分支
用于连接Toggl API的自定义PHP库 - 由
此包可由任何人随时使用,但请注意,它针对我的个人自定义工作流程进行了优化。它可能不完全适合您的项目,可能需要修改。
安装
通过Composer拉取此包。
{ "require": { "wedocreatives/toggl": "0.*" } }
Laravel集成
将服务提供者添加到您的config/app.php
文件
'providers' => array( //... Wedocreatives\Toggl\TogglServiceProvider::class, )
将外观添加到您的config/app.php
文件
'aliases' => array( //... 'Toggl' => Wedocreatives\Toggl\Facades\Toggl::class, ),
将工作区ID和您的个人API令牌添加到您的.env
文件
TOGGL_WORKSPACE=123
TOGGL_TOKEN=your_toggl_api_token
将以下行添加到您的config/services.php
文件
'toggl' => [ 'workspace' => env('TOGGL_WORKSPACE'), 'token' => env('TOGGL_TOKEN'), ],
目前,此包只支持一个工作区,这对大多数用户来说已经足够。您可以通过使用
Config::set('services.toggl.workspace', 456)
方法来覆盖此行为。未来将添加对多个工作区的支持。
Lumen 5.*集成
在您的bootstrap/app.php
中,确保您已取消以下行的注释(大约在26行左右)
$app->withFacades();
然后,注册您的类别名
class_alias('Wedocreatives\Toggl\Facades\Toggl', 'Toggl');
最后,您必须注册您的ServiceProvider(大约在70-80行左右)
/*
|--------------------------------------------------------------------------
| Register Service Providers
|--------------------------------------------------------------------------
|
| Here we will register all of the application's service providers which
| are used to bind services into the container. Service providers are
| totally optional, so you are not required to uncomment this line.
|
*/
// $app->register('App\Providers\AppServiceProvider');
// Package service providers
$app->register(Wedocreatives\Toggl\TogglServiceProvider::class);
不使用Laravel的集成
在您想要使用此包的地方创建一个新的
$workspaceId = 123; $apiToken = 'your_toggl_api_token'; $togglService = new \Wedocreatives\Toggl\TogglService( $workspaceId, $apiToken );
使用方法
此包提供了一个简单接口,用于向Toggl API发送请求。有关API的完整信息,包括所有可用方法和所有可能的参数,请参阅Github上的官方Toggl API文档。此包提供了(几乎)与API文档中描述的所有(几乎)所有函数的精确匹配。精确的函数定义可以在src/Traits
目录中找到。
为了您的方便,此包将自动添加几个必需的参数,您不必担心这样做。这些参数包括工作区ID和API令牌。这些参数不应包含在任何请求中。此外,此包还提供了一些针对
Laravel使用的实用方法
// Return an overview of what users in the workspace are doing and have been doing $response = Toggl::dashboard(); // Create a client $response = Toggl::createClient( array( "name" => "Test company" ) ) ); // Get a summary information of this month for all user $response = Toggl::summaryThisMonth(); // Get a summary information of last month for one specific user $response = Toggl::summaryLastMonth( array( 'user_ids' => '123' ) ) );
非Laravel使用
$workspaceId = 123; $apiToken = 'your_toggl_api_token'; $togglService = new \Wedocreatives\Toggl\TogglService( $workspaceId, $apiToken ); // Return an overview of what users in the workspace are doing and have been doing $response = $togglService->dashboard(); // Create a client $response = $togglService->createClient( array( "name" => "Test company" ) ) ); // Get a summary information of this month for all user $response = $togglService->summaryThisMonth(); // Get a summary information of last month for one specific user $response = $togglService->summaryLastMonth( array( 'user_ids' => '123' ) ) );
计划
- 添加缺少的API方法
- 改进现有API方法的可用性
- 添加额外的便利方法
- 更新和改进文档
- 多个工作区的支持
许可证
此包是开源软件,受MIT许可证的许可。